From 233ee900de80a04299bb636635f65197dcfe9b78 Mon Sep 17 00:00:00 2001
From: toole1 <toole1@6fbd10e7-183d-0410-a318-cb416676e4f2>
Date: Fri, 27 Jan 2012 19:26:26 +0000
Subject: [PATCH] deleting things for update

git-svn-id: https://subversion.cs.illinois.edu/svn/cs225@5899 6fbd10e7-183d-0410-a318-cb416676e4f2
---
 .monadid          |    6 +-
 LICENSE.txt       |   32 -
 Makefile          |   63 -
 Makefile.proxy    |   48 -
 README.txt        |   41 -
 README_config.txt |   22 -
 README_tests.txt  |    1 -
 ccmonad           |  Bin 561913 -> 0 bytes
 ccmonad.cpp       |  115 --
 config.ini        |   24 -
 help.cpp          |   43 -
 memcheck.h        |  277 ---
 monad             |  Bin 748060 -> 0 bytes
 monad.cpp         |  507 -----
 monad.h           |   34 -
 monad_shared.cpp  |  160 --
 monad_shared.h    |  128 --
 pipestream.cpp    |  327 ----
 pipestream.h      |  105 -
 proxy.cpp         |  726 -------
 proxy.h           |  488 -----
 quotes.txt        |   58 -
 random.h          |  119 --
 update.sh         |   56 +-
 util.cpp          | 1268 ------------
 util.h            |  403 ----
 valgrind.h        | 4792 ---------------------------------------------
 27 files changed, 28 insertions(+), 9815 deletions(-)
 delete mode 100644 LICENSE.txt
 delete mode 100644 Makefile
 delete mode 100644 Makefile.proxy
 delete mode 100644 README.txt
 delete mode 100644 README_config.txt
 delete mode 100644 README_tests.txt
 delete mode 100755 ccmonad
 delete mode 100644 ccmonad.cpp
 delete mode 100644 config.ini
 delete mode 100644 help.cpp
 delete mode 100644 memcheck.h
 delete mode 100755 monad
 delete mode 100644 monad.cpp
 delete mode 100644 monad.h
 delete mode 100644 monad_shared.cpp
 delete mode 100644 monad_shared.h
 delete mode 100644 pipestream.cpp
 delete mode 100644 pipestream.h
 delete mode 100644 proxy.cpp
 delete mode 100644 proxy.h
 delete mode 100644 quotes.txt
 delete mode 100644 random.h
 delete mode 100644 util.cpp
 delete mode 100644 util.h
 delete mode 100644 valgrind.h

diff --git a/.monadid b/.monadid
index a32bb92..605d7b6 100644
--- a/.monadid
+++ b/.monadid
@@ -1,4 +1,4 @@
-monad identification file
-This file is used for monad directory identification
+pure-monad identification file
+This file is used for pure-monad directory identification
 Built by toole1 on linux1.ews.illinois.edu
-Build Date: Wed Jan 25 01:07:42 CST 2012
+Build Date: Thu Jan 26 17:09:06 CST 2012
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 6b2a61a..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-monad is released under the University of Illinois/NCSA Open Source License,
-reproduced below:
-
-Copyright (c) 2011 Jack Toole.  All rights reserved.
-
-Developed by: Jack Toole <jack@toole1.com>
-              University of Illinois at Urbana-Champaign
-              http://code.autograder.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal with the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-  1. Redistributions of source code must retain the above copyright notice,
-     this list of conditions and the following disclaimers.
-  2. Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimers in the
-     documentation and/or other materials provided with the distribution.
-  3. Neither the names of Jack Toole, CS 225, the University of Illinois at
-     Urbana-Champaign, nor the names of its contributors may be used to
-     endorse or promote products derived from this Software without specific
-     prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-WITH THE SOFTWARE.
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 5045194..0000000
--- a/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-CC = g++
-CFLAGS = -Wall -Wshadow
-EXENAME = monad
-CCMONAD = ccmonad
-OBJS = $(EXENAME).o help.o util.o monad_shared.o
-CCOBJS = $(CCMONAD).o util.o monad_shared.o
-IDFILE = .monadid
-OPTIMIZE = off
-
-ifeq ($(strip $(OPTIMIZE)),on)
-CFLAGS += -O2 -DOPTIMIZE
-else ifeq ($(strip $(OPTIMIZE)),off)
-CFLAGS += -g -O0
-else
-$(warning Invalid value specified for OPTIMIZE. Should be on or off)
-CFLAGS += -g -O0
-endif
-
-LIBS:=
-IS_LIBRT:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lrt &>/dev/null ; echo $$?)
-IS_LIBPNG:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lpng &>/dev/null ; echo $$?)
-ifeq ($(IS_LIBRT),0)
-LIBS+= -lrt
-endif
-ifeq ($(IS_LIBPNG),0)
-LIBS+= -lpng 
-endif
-
-all: $(EXENAME) $(CCMONAD) $(IDFILE)
-
-$(IDFILE): $(OBJS)
-	echo -e '$(EXENAME) identification file\n'\
-'This file is used for $(EXENAME) directory identification\n'\
-'Built by' `whoami` 'on' `hostname`'\n'\
-'Build Date:' `date`> $(IDFILE)
-
-$(EXENAME): $(OBJS) $(IDFILE)
-	$(CC) $(LIBS) $(CFLAGS) $(OBJS) -o $@
-
-$(CCMONAD): $(CCOBJS) $(IDFILE)
-	$(CC) $(LIBS) $(CFLAGS) $(CCOBJS) -o $@
-
-help.o: help.cpp $(wildcard *.h) README.cgo README_config.cgo README_tests.cgo LICENSE.cgo quotes.cga
-
-CONVERT_TXT_TO_CGO=sed -e 's/"/\\"/g' -e 's/^/    << "/' -e 's/$$/" << endl/'
-CONVERT_TXT_TO_CGA=sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/",/'
-
-%.cgo: %.txt
-	$(CONVERT_TXT_TO_CGO) $(@:.cgo=.txt) > $@
-
-%.cga: %.txt
-	$(CONVERT_TXT_TO_CGA) $(@:.cga=.txt) > $@
-
-%.o : %.cpp $(wildcard *.h)
-	$(CC) $(CFLAGS) -c $(@:.o=.cpp) -o $@
-
-.PHONY: clean
-clean:
-	rm -f $(wildcard *.o) $(wildcard *.cgo) $(wildcard *.cga) $(EXENAME) $(CCMONAD) $(IDFILE) $(wildcard $(EXENAME)$(EXENAME)*)
-
-.PHONY: clean.sh
-clean.sh: $(EXENAME)
-	./clean.sh
diff --git a/Makefile.proxy b/Makefile.proxy
deleted file mode 100644
index f4dfb11..0000000
--- a/Makefile.proxy
+++ /dev/null
@@ -1,48 +0,0 @@
-CC = g++
-WARNINGS := -Wchar-subscripts -Wparentheses -Wreturn-type -Wmissing-braces -Wundef -Wshadow
-CFLAGS += $(WARNINGS)
-TESTEXE := proxy
-# This order is necessary for security. Always include student code last!
-# TODO (toole1): I wish I knew why this was; doing unit_tests first is slow if the student code doesn't compile
-TESTOBJS := $(TESTEXE).o util.o unit_tests.o monad_shared.o $(TESTOBJS)
-OPTIMIZE := off
-
-ifeq ($(strip $(OPTIMIZE)),on)
-CFLAGS += -O2 -DOPTIMIZE
-else ifeq ($(strip $(OPTIMIZE)),off)
-CFLAGS += -g -O0
-else
-$(warning Invalid value specified for OPTIMIZE. Should be on or off)
-CFLAGS += -g -O0
-endif
-
-ifndef ALL_TARGET
-ALL_TARGET = all
-all: $(TESTEXE)
-endif
-
-LIBS:=
-IS_LIBRT:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lrt &>/dev/null ; echo $$?)
-IS_LIBPNG:=$(shell echo "int main(){}" | g++ -o /dev/null -x c++ - -lpng &>/dev/null ; echo $$?)
-ifeq ($(IS_LIBRT),0)
-LIBS+= -lrt
-endif
-ifeq ($(IS_LIBPNG),0)
-LIBS+= -lpng 
-endif
-
-$(TESTEXE): $(TESTOBJS)
-	$(CC) $(TESTOBJS) $(LIBS) -o $@
-
-unit_tests.o : unit_tests.cpp $(wildcard *.h)
-	../ccmonad $(CC) $(CFLAGS) -c $(@:.o=.cpp) -o $@
-
-%.o : %.cpp $(wildcard *.h)
-	$(CC) $(CFLAGS) -c $(@:.o=.cpp) -o $@
-
-ifndef CLEAN_TARGET
-CLEAN_TARGET = clean
-.PHONY: clean
-clean:
-	-rm -f *.o $(TESTEXE)
-endif
diff --git a/README.txt b/README.txt
deleted file mode 100644
index f0b77e1..0000000
--- a/README.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-OVERVIEW: Monad Autograder (c) Jack Toole
-  Monad is a system for grading students' C/C++ code with point-weighted unit
-  tests.
-
-USAGE: monad <assignment> [options]
-  Runs the tests for <assignment> (mp1, lab01, ...)
-  '../<assignment>/' must exist
-  If '../<assignment>_tests/' or any necessary library directories do not exist,
-  they will be downloaded from SVN
-
-GENERAL OPTIONS:
-  Note: Any option may be negated with --no<option> or --<option>=false
-  Options which default to true are shown negated below
-
-  --noclean               Do not re-copy test cases into sandbox. This improves
-                          performance at the cost of safety
-  --provided              Use <assignment>_provided/ instead of
-                          <assignment>_tests/ for test cases
-  --noupdate              Do not call 'svn update' on the tests and library
-                          directories
-  --verbose               Display detailed test output information for passing
-                          tests
-  --parallel              Compiles code in parallel if possible
-
-INFORMATION OPTIONS:
-  --help                  Display this dialog
-  --help config           Help for writing config files
-  --help tests            Help for writing test cases
-  --info, --version       Display version information
-  --license               Display the license
-
-STAFF OPTIONS:
-  --staff                 Use the staff SVN repository to download test cases.
-                          This allows monad to be run by staff without
-                          releasing the test cases to students
-  --solution              Grade <assignment>_solution/ instead of
-                          <assignment>/
-  --newtests              Use <assignment>_newtests/ instead of
-                          <assignment>_tests/ for test cases. This allows new
-                          test cases to be developed without replacing the old
-                          ones for release tests
diff --git a/README_config.txt b/README_config.txt
deleted file mode 100644
index 52e7cdd..0000000
--- a/README_config.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-monad settings and individual test settings are stored in config.ini files
-The following options are available for monad's ./config.ini:
-[SVN Root]
-; svn base url here (http://.../cs225/)
-[Monad Files]
-; Any files to be copied from monad ./ to ./ASSIGNMENT/ testing directory
-; By default, proxy.cpp is used to run test cases:
-proxy.cpp
-
-The following options are available for individual tests' ../ASSIGNMENT_tests/config.ini:
-[Required Files]
-; Any files that must be copied from the ../ASSIGNMENT directory
-main.cpp
-[Testing Files]
-; Any files that must be copied from ../ASSIGNMENT_tests
-; By default, unit_tests.cpp contains the test cases
-unit_tests.cpp
-[Libraries]
-; Any external library folders to be present in the same directory as the
-; testing directory. These should be mirrored in [SVN Root]/_shared/
-; The 'testutil' library in this directory is also available
-EasyBMP
diff --git a/README_tests.txt b/README_tests.txt
deleted file mode 100644
index 8d09c35..0000000
--- a/README_tests.txt
+++ /dev/null
@@ -1 +0,0 @@
-[not finished yet]
diff --git a/ccmonad b/ccmonad
deleted file mode 100755
index e0bc62275472a765481334fc990367f4363eba35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 561913
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
bI>vnAB8F;gJm&CFuRA_@0Y1M=J)-|F<yKv_

diff --git a/ccmonad.cpp b/ccmonad.cpp
deleted file mode 100644
index 91836bd..0000000
--- a/ccmonad.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-#include "util.h"
-
-using namespace std;
-using namespace util;
-
-int main(int argc, const char * const * argv)
-{
-	if (argc < 4)
-	{
-		cerr << "ccmonad: usage error" << endl;
-		exit(1);
-	}
-	string compiler = argv[1];
-	string inputFile;
-	vector<string> options;
-	string outputFile;
-	bool isNextOutput = false;
-	for (int32_t i = 2; i < argc; i++)
-	{
-		if (strlen(argv[i]) > 0)
-		{
-			if (argv[i][0] == '-')
-			{
-				if (strlen(argv[i]) > 1 && argv[i][1] == 'o')
-					isNextOutput = true;
-				else if (strcmp(argv[i], "-c") != 0)
-					options.push_back(argv[i]);
-			}
-			else
-			{
-				if (isNextOutput)
-					outputFile = argv[i];
-				else
-				{
-					if (inputFile == "")
-						inputFile = argv[i];
-					else
-					{
-						cerr << "ccmonad: error: ccmonad can only take one input file" << endl;
-						exit(1);
-					}
-				}
-			}
-		}
-	}
-	if (outputFile == "")
-	{
-		cerr << "ccmonad: usage error" << endl;
-		exit(1);
-	}
-#if 0
-	cout << "Compiler: " << compiler << endl;
-	cout << "Input: " << inputFile << endl;
-	cout << "Output: " << outputFile << endl;
-#endif
-
-	if (!exists(inputFile))
-	{
-		cerr << "ccmonad: error: file not found: " << inputFile << endl;
-		exit(1);
-	}
-
-	vector<string> args1 = options;
-	args1.push_back("-c");
-	args1.push_back(inputFile);
-	args1.push_back("-o");
-	args1.push_back(outputFile);
-	int8_t result1 = exec(compiler, args1);
-	if (result1 != 0)
-	{
-		vector<size_t> splits;
-		splits.push_back(0); // for compiling something always (should be empty)
-
-		ifstream input(inputFile.c_str());
-		for (size_t line_i = 1; input.good(); line_i++)
-		{
-			string line;
-			getline(input, line);
-			vector<string> tokens = tokenize(line, " \t");
-			if (tokens.size() >= 2 && tokens[0] == "#if" && tokens[1] == "MONAD_SPLIT")
-				splits.push_back(line_i);
-		}
-
-		vector<string> intermediate_outputs; // = options;
-		//intermediate_outputs.push_back("-shared");
-		intermediate_outputs.push_back("-r");
-		for (size_t split_i = 0; split_i < splits.size(); split_i++)
-		{
-			vector<string> args = options;
-			args.push_back("-c");
-			args.push_back(inputFile);
-			args.push_back("-DMONAD_SPLIT_LINE_NUMBER=" + lexical_cast<string>(splits[split_i]));
-			args.push_back("-o");
-			args.push_back(outputFile + "." + split_i);
-		
-#if 0
-			cout << "\tmonacc: " << compiler;
-			for (size_t i = 0; i < args.size(); i++)
-				cout << ' ' << args[i];
-			cout << endl;
-#endif
-
-			int8_t result2 = exec(compiler, args);
-			if (result2 == 0)
-				intermediate_outputs.push_back(outputFile + "." + split_i);
-		}
-		intermediate_outputs.push_back("-o");
-		intermediate_outputs.push_back(outputFile);
-
-		return exec("ld", intermediate_outputs);
-		//return exec("mv", intermediate_outputs[2], outputFile);
-	}
-	else
-		return 0;
-}
diff --git a/config.ini b/config.ini
deleted file mode 100644
index 7454c9a..0000000
--- a/config.ini
+++ /dev/null
@@ -1,24 +0,0 @@
-[SVN Root]
-:https://subversion.ews.illinois.edu/svn/sp12-cs225/
-
-[SVN Public Dir]
-:_shared
-
-[Staff SVN]
-:https://subversion.cs.illinois.edu/svn/cs225/
-
-[Staff SVN Dir]
-:_current
-
-[Monad Files]
-Makefile.proxy
-memcheck.h
-monad_shared.h
-monad_shared.cpp
-proxy.h
-proxy.cpp
-valgrind.h
-
-[Libraries]
-util
-
diff --git a/help.cpp b/help.cpp
deleted file mode 100644
index 9fbbb41..0000000
--- a/help.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "monad.h"
-
-namespace monad
-{
-
-void printHelp()
-{
-	cout
-#include "README.cgo"
-	;
-}
-
-void printHelpConfig()
-{
-	cout
-#include "README_config.cgo"
-	;
-}
-
-void printHelpTests()
-{
-	cout
-#include "README_tests.cgo"
-	;
-}
-
-void printLicense()
-{
-	cout
-#include "LICENSE.cgo"
-	;
-}
-
-const char * getRandomQuote()
-{
-	const char * quotes[] = {
-#include "quotes.cga"
-	};
-	size_t quotes_size = (sizeof quotes) / (sizeof quotes[0]);
-	return quotes[urandn(quotes_size)];
-}
-
-} // namespace monad
diff --git a/memcheck.h b/memcheck.h
deleted file mode 100644
index 0e00270..0000000
--- a/memcheck.h
+++ /dev/null
@@ -1,277 +0,0 @@
-
-/*
-   ----------------------------------------------------------------
-
-   Notice that the following BSD-style license applies to this one
-   file (memcheck.h) only.  The rest of Valgrind is licensed under the
-   terms of the GNU General Public License, version 2, unless
-   otherwise indicated.  See the COPYING file in the source
-   distribution for details.
-
-   ----------------------------------------------------------------
-
-   This file is part of MemCheck, a heavyweight Valgrind tool for
-   detecting memory errors.
-
-   Copyright (C) 2000-2010 Julian Seward.  All rights reserved.
-
-   redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-
-   1. redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-   2. The origin of this software must not be misrepresented; you must 
-      not claim that you wrote the original software.  If you use this 
-      software in a product, an acknowledgment in the product 
-      documentation would be appreciated but is not required.
-
-   3. Altered source versions must be plainly marked as such, and must
-      not be misrepresented as being the original software.
-
-   4. The name of the author may not be used to endorse or promote 
-      products derived from this software without specific prior written 
-      permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-   ----------------------------------------------------------------
-
-   Notice that the above BSD-style license applies to this one file
-   (memcheck.h) only.  The entire rest of Valgrind is licensed under
-   the terms of the GNU General Public License, version 2.  See the
-   COPYING file in the source distribution for details.
-
-   ---------------------------------------------------------------- 
-*/
-
-
-#ifndef __MEMCHECK_H
-#define __MEMCHECK_H
-
-
-/* This file is for inclusion into client (your!) code.
-
-   You can use these macros to manipulate and query memory permissions
-   inside your own programs.
-
-   See comment near the top of valgrind.h on how to use them.
-*/
-
-#include "valgrind.h"
-
-/* !! ABIWARNING !! ABIWARNING !! ABIWARNING !! ABIWARNING !! 
-   This enum comprises an ABI exported by Valgrind to programs
-   which use client requests.  DO NOT CHANGE THE ORDER OF THESE
-   ENTRIES, NOR DELETE ANY -- add new ones at the end. */
-typedef
-   enum { 
-      VG_USERREQ__MAKE_MEM_NOACCESS = VG_USERREQ_TOOL_BASE('M','C'),
-      VG_USERREQ__MAKE_MEM_UNDEFINED,
-      VG_USERREQ__MAKE_MEM_DEFINED,
-      VG_USERREQ__DISCARD,
-      VG_USERREQ__CHECK_MEM_IS_ADDRESSABLE,
-      VG_USERREQ__CHECK_MEM_IS_DEFINED,
-      VG_USERREQ__DO_LEAK_CHECK,
-      VG_USERREQ__COUNT_LEAKS,
-
-      VG_USERREQ__GET_VBITS,
-      VG_USERREQ__SET_VBITS,
-
-      VG_USERREQ__CREATE_BLOCK,
-
-      VG_USERREQ__MAKE_MEM_DEFINED_IF_ADDRESSABLE,
-
-      /* Not next to VG_USERREQ__COUNT_LEAKS because it was added later. */
-      VG_USERREQ__COUNT_LEAK_BLOCKS,
-
-      /* This is just for memcheck's internal use - don't use it */
-      _VG_USERREQ__MEMCHECK_RECORD_OVERLAP_ERROR 
-         = VG_USERREQ_TOOL_BASE('M','C') + 256
-   } Vg_MemCheckClientRequest;
-
-
-
-/* Client-code macros to manipulate the state of memory. */
-
-/* Mark memory at _qzz_addr as unaddressable for _qzz_len bytes. */
-#define VALGRIND_MAKE_MEM_NOACCESS(_qzz_addr,_qzz_len)           \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
-                            VG_USERREQ__MAKE_MEM_NOACCESS,       \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0)
-      
-/* Similarly, mark memory at _qzz_addr as addressable but undefined
-   for _qzz_len bytes. */
-#define VALGRIND_MAKE_MEM_UNDEFINED(_qzz_addr,_qzz_len)          \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
-                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0)
-
-/* Similarly, mark memory at _qzz_addr as addressable and defined
-   for _qzz_len bytes. */
-#define VALGRIND_MAKE_MEM_DEFINED(_qzz_addr,_qzz_len)            \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
-                            VG_USERREQ__MAKE_MEM_DEFINED,        \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0)
-
-/* Similar to VALGRIND_MAKE_MEM_DEFINED except that addressability is
-   not altered: bytes which are addressable are marked as defined,
-   but those which are not addressable are left unchanged. */
-#define VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE(_qzz_addr,_qzz_len)     \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,              \
-                            VG_USERREQ__MAKE_MEM_DEFINED_IF_ADDRESSABLE, \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0)
-
-/* Create a block-description handle.  The description is an ascii
-   string which is included in any messages pertaining to addresses
-   within the specified memory range.  Has no other effect on the
-   properties of the memory range. */
-#define VALGRIND_CREATE_BLOCK(_qzz_addr,_qzz_len, _qzz_desc)	   \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,        \
-                            VG_USERREQ__CREATE_BLOCK,              \
-                            (_qzz_addr), (_qzz_len), (_qzz_desc),  \
-                            0, 0)
-
-/* Discard a block-description-handle. Returns 1 for an
-   invalid handle, 0 for a valid handle. */
-#define VALGRIND_DISCARD(_qzz_blkindex)                          \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
-                            VG_USERREQ__DISCARD,                 \
-                            0, (_qzz_blkindex), 0, 0, 0)
-
-
-/* Client-code macros to check the state of memory. */
-
-/* Check that memory at _qzz_addr is addressable for _qzz_len bytes.
-   If suitable addressibility is not established, Valgrind prints an
-   error message and returns the address of the first offending byte.
-   Otherwise it returns zero. */
-#define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(_qzz_addr,_qzz_len)      \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                             \
-                            VG_USERREQ__CHECK_MEM_IS_ADDRESSABLE,  \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0)
-
-/* Check that memory at _qzz_addr is addressable and defined for
-   _qzz_len bytes.  If suitable addressibility and definedness are not
-   established, Valgrind prints an error message and returns the
-   address of the first offending byte.  Otherwise it returns zero. */
-#define VALGRIND_CHECK_MEM_IS_DEFINED(_qzz_addr,_qzz_len)        \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                           \
-                            VG_USERREQ__CHECK_MEM_IS_DEFINED,    \
-                            (_qzz_addr), (_qzz_len), 0, 0, 0);
-
-/* Use this macro to force the definedness and addressibility of an
-   lvalue to be checked.  If suitable addressibility and definedness
-   are not established, Valgrind prints an error message and returns
-   the address of the first offending byte.  Otherwise it returns
-   zero. */
-#define VALGRIND_CHECK_VALUE_IS_DEFINED(__lvalue)                \
-   VALGRIND_CHECK_MEM_IS_DEFINED(                                \
-      (volatile unsigned char *)&(__lvalue),                     \
-                      (unsigned long)(sizeof (__lvalue)))
-
-
-/* Do a full memory leak check (like --leak-check=full) mid-execution. */
-#define VALGRIND_DO_LEAK_CHECK                                   \
-   {unsigned long _qzz_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                      \
-                            VG_USERREQ__DO_LEAK_CHECK,           \
-                            0, 0, 0, 0, 0);                      \
-   }
-
-/* Do a summary memory leak check (like --leak-check=summary) mid-execution. */
-#define VALGRIND_DO_QUICK_LEAK_CHECK				 \
-   {unsigned long _qzz_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                      \
-                            VG_USERREQ__DO_LEAK_CHECK,           \
-                            1, 0, 0, 0, 0);                      \
-   }
-
-/* Return number of leaked, dubious, reachable and suppressed bytes found by
-   all previous leak checks.  They must be lvalues.  */
-#define VALGRIND_COUNT_LEAKS(leaked, dubious, reachable, suppressed)     \
-   /* For safety on 64-bit platforms we assign the results to private
-      unsigned long variables, then assign these to the lvalues the user
-      specified, which works no matter what type 'leaked', 'dubious', etc
-      are.  We also initialise '_qzz_leaked', etc because
-      VG_USERREQ__COUNT_LEAKS doesn't mark the values returned as
-      defined. */                                                        \
-   {unsigned long _qzz_res;                                              \
-    unsigned long _qzz_leaked    = 0, _qzz_dubious    = 0;               \
-    unsigned long _qzz_reachable = 0, _qzz_suppressed = 0;               \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                              \
-                               VG_USERREQ__COUNT_LEAKS,                  \
-                               &_qzz_leaked, &_qzz_dubious,              \
-                               &_qzz_reachable, &_qzz_suppressed, 0);    \
-    leaked     = _qzz_leaked;                                            \
-    dubious    = _qzz_dubious;                                           \
-    reachable  = _qzz_reachable;                                         \
-    suppressed = _qzz_suppressed;                                        \
-   }
-
-/* Return number of leaked, dubious, reachable and suppressed bytes found by
-   all previous leak checks.  They must be lvalues.  */
-#define VALGRIND_COUNT_LEAK_BLOCKS(leaked, dubious, reachable, suppressed) \
-   /* For safety on 64-bit platforms we assign the results to private
-      unsigned long variables, then assign these to the lvalues the user
-      specified, which works no matter what type 'leaked', 'dubious', etc
-      are.  We also initialise '_qzz_leaked', etc because
-      VG_USERREQ__COUNT_LEAKS doesn't mark the values returned as
-      defined. */                                                        \
-   {unsigned long _qzz_res;                                              \
-    unsigned long _qzz_leaked    = 0, _qzz_dubious    = 0;               \
-    unsigned long _qzz_reachable = 0, _qzz_suppressed = 0;               \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                              \
-                               VG_USERREQ__COUNT_LEAK_BLOCKS,            \
-                               &_qzz_leaked, &_qzz_dubious,              \
-                               &_qzz_reachable, &_qzz_suppressed, 0);    \
-    leaked     = _qzz_leaked;                                            \
-    dubious    = _qzz_dubious;                                           \
-    reachable  = _qzz_reachable;                                         \
-    suppressed = _qzz_suppressed;                                        \
-   }
-
-
-/* Get the validity data for addresses [zza..zza+zznbytes-1] and copy it
-   into the provided zzvbits array.  Return values:
-      0   if not running on valgrind
-      1   success
-      2   [previously indicated unaligned arrays;  these are now allowed]
-      3   if any parts of zzsrc/zzvbits are not addressable.
-   The metadata is not copied in cases 0, 2 or 3 so it should be
-   impossible to segfault your system by using this call.
-*/
-#define VALGRIND_GET_VBITS(zza,zzvbits,zznbytes)                     \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                               \
-                                    VG_USERREQ__GET_VBITS,           \
-                                    (char*)(zza), (char*)(zzvbits),  \
-                                    (zznbytes), 0, 0)
-
-/* Set the validity data for addresses [zza..zza+zznbytes-1], copying it
-   from the provided zzvbits array.  Return values:
-      0   if not running on valgrind
-      1   success
-      2   [previously indicated unaligned arrays;  these are now allowed]
-      3   if any parts of zza/zzvbits are not addressable.
-   The metadata is not copied in cases 0, 2 or 3 so it should be
-   impossible to segfault your system by using this call.
-*/
-#define VALGRIND_SET_VBITS(zza,zzvbits,zznbytes)                     \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0,                               \
-                                    VG_USERREQ__SET_VBITS,           \
-                                    (char*)(zza), (char*)(zzvbits),  \
-                                    (zznbytes), 0, 0 )
-
-#endif
-
diff --git a/monad b/monad
deleted file mode 100755
index 2d043f1c18e3ea1126401c3f22af96475f8eb878..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 748060
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

diff --git a/monad.cpp b/monad.cpp
deleted file mode 100644
index 16bf983..0000000
--- a/monad.cpp
+++ /dev/null
@@ -1,507 +0,0 @@
-// monad
-// For illinois.edu CS 225 spring 2011
-// By Jack Toole
-
-#include "monad.h"
-
-namespace monad
-{
-void find_base_dir(const char * argv0);
-void create_mp_part_file();
-void processArgs(int argc, const char * const * argv);
-void copyRequiredFiles();
-void getLibs(const vector<string> & libs);
-string updateFolder(const string & folder, bool link);
-string tryGetFolder(string dirAndFolder, const string & target, bool link);
-string getFolder(const string & folder, const string & searchDir = "", bool link = false);
-void importFiles(const string & preservedFolder, const string & theSourceFolder,
-                 const string & destFolder, const vector<string> & files);
-void exec_command(const string & command);
-
-string assignment_base;
-int8_t mp_part;
-const int8_t no_mp_part = -1;
-
-string testsFolder;
-string sourceFolder;
-string gradeFolder;
-string tempFolder;
-
-FileMap config;
-
-namespace opts
-{
-bool solution = false;
-bool clean    = true;
-bool update   = true;
-bool staff    = false;
-bool newtests = false;
-bool provided = false;
-
-bool verbose  = false;
-bool buffer   = true;
-bool valgrind = false;
-bool parallel = false;
-
-bool help     = false;
-bool info     = false;
-bool license  = false;
-#if OPTIMIZE
-bool optimize = true;
-#else
-bool optimize = false;
-#endif
-}
-
-}
-
-
-int main(int argc, const char * const * argv)
-{
-	using namespace monad;
-
-	output::set_error_message();
-	
-	// Find monad/ directory
-	find_base_dir(argv[0]);
-
-	// Read in local config settings.
-	// Necessary to do this early for [SVN Root] url
-	readConfig("./", config);
-	processArgs(argc, argv);
-
-	cout << versioninfo::official_name << endl;
-	cout << "Testing " << assignment_base;
-	if (mp_part != no_mp_part) cout << '.' << (int)mp_part;
-	cout << "..." << endl;
-	cout << getRandomQuote() << endl;
-	cout << endl;
-
-	cout << "Setting up test environment..." << endl;
-
-	// Read in test-specific config settings
-	if (mp_part == no_mp_part)
-		readConfig(testsFolder, config);
-	else
-		readConfig(testsFolder, config, to_string((int)mp_part));
-
-	copyRequiredFiles();
-
-	// Sleep for a second to avoid clock skew warnings
-	// This cummulatively adds about 5 minutes to grade each mp,
-	// but with the benefit of avoiding newsgroup posts
-	// CHANGED: Judging by previous emails, the time needed for
-	// this would vary significantly. not sure about solution
-	//	sleep(1);
-
-	output::header("Compiling");
-	chdir(gradeFolder.c_str());
-
-	// #define MP_PART_NUMBER in proxy
-	create_mp_part_file();
-	// Change inclusion guards in proxy.h
-	exec("sed", "-i", "-e", "s/PROXY_H/PROXY_" + lexical_cast<string>(urand()) + "_H/g", "./proxy.h");
-
-	// run [Pre-Make Commands] config header
-	const vector<string> & processing_commands = config["Pre-Make Commands"];
-	for (size_t i = 0; i < processing_commands.size(); i++)
-		exec_command(processing_commands[i]);
-
-	string makestr = "/usr/bin/make --warn-undefined-variables -Wfatal-errors";
-	if (opts::parallel)
-		makestr += " --jobs=4";
-	if (!opts::verbose)
-		makestr += " --quiet";
-	if (opts::optimize)
-		makestr += " OPTIMIZE=on";
-	if (!config["Make Options"].empty())
-		makestr += " " + config["Make Options"][0];
-	if (opts::verbose)
-		cout << makestr <<endl;
-
-	// Compile with make
-	system(makestr.c_str()); // yes, system is insecure if the user has control
-	                         // over config.ini. But students don't.
-							 // TODO (toole1): Yeah but this leaves us open to
-							 // aliasing issues, or forces us to specify make's
-							 // path. Ugly either way.
-	// TODO exec("make", "--quiet", "--warn-undefined-variables", 
-
-	cout << endl << endl;
-	vector<string> args;
-	if (opts::verbose) args.push_back("--verbose");
-	if (opts::valgrind) args.push_back("--valgrind");
-	if (!opts::buffer) args.push_back("--noredirect");
-	int score = exec("./proxy", args);
-
-	// TODO (toole1): this causes weird output when scores are like 200
-	if (score < 0)
-	{
-		output::header("Running tests");
-		cout << "Could not execute test cases" << endl << endl;
-		score = 0;
-
-		cout << endl;
-		output::total_score(score, -1);
-	}
-
-	return score;
-}
-
-void monad::create_mp_part_file()
-{
-	ofstream mp_part_file("mp_part.h");
-	mp_part_file << "#ifndef MONAD_SPLIT_LINE_NUMBER" << endl;
-	mp_part_file << "#define MONAD_SPLIT_LINE_NUMBER -1" << endl;
-	mp_part_file << "#endif" << endl;
-	mp_part_file << "#define MONAD_SPLIT (MONAD_SPLIT_LINE_NUMBER == __LINE__ || MONAD_SPLIT_LINE_NUMBER == -1)" << endl;
-	mp_part_file << "#define NO_MP_PART " << static_cast<int>(no_mp_part) << endl;
-	mp_part_file << "#define MP_PART_NUMBER ";
-	if (mp_part == no_mp_part) mp_part_file << "NO_MP_PART"; else mp_part_file << static_cast<int>(mp_part);
-	mp_part_file << endl;
-	mp_part_file << "#define MP_PART(x) (MP_PART_NUMBER == (x) || MP_PART_NUMBER == NO_MP_PART)" << endl;
-	mp_part_file.close();
-}
-
-void monad::processArgs(int argc, const char * const * argv)
-{
-    // Create OptionsMap for options and vector for positional arguments:
-	OptionsParser options;
-
-	// Add our possible options to our map
-	options.addOption("solution", opts::solution);
-	options.addOption("newtests", opts::newtests);
-	options.addOption("provided", opts::provided);
-	options.addOption("clean",    opts::clean);
-	options.addOption("update",   opts::update);
-	options.addOption("staff",    opts::staff);
-	
-	options.addOption("optimize", opts::optimize);
-	options.addOption("verbose",  opts::verbose);
-	options.addOption("buffer",   opts::buffer);
-	options.addOption("valgrind", opts::valgrind);
-	options.addOption("parallel", opts::parallel);
-
-	options.addOption("help",     opts::help);
-	options.addOption("h",        opts::help);
-	options.addOption("info",     opts::info);
-	options.addOption("version",  opts::info);
-	options.addOption("v",        opts::info);
-	options.addOption("license",  opts::license);
-
-	// Add arguments
-	string assignment = "";
-	options.addArg(assignment);
-
-	// Read in options and arguments
-	vector<string> posargs = options.parse(argc, argv);
-	
-	// Help
-	if (opts::help || toLower(assignment) == "help")
-	{
-		if (toLower(assignment) == "config")
-			printHelpConfig();
-		else if (toLower(assignment) == "tests")
-			printHelpTests();
-		else
-			printHelp();
-		exit(0);
-	}
-
-	// Info
-	if (opts::info)
-	{
-		printInfo();
-		exit(0);
-	}
-	
-	// License
-	if (opts::license)
-	{
-		printLicense();
-		exit(0);
-	}
-	
-	// Clean
-	if (toLower(assignment) == "clean")
-	{
-		system("/bin/rm -rf *_grade/ *_tests/ *_newtests/ *_providedtests *_solution/");
-		exit(0);
-	}
-
-	// Check argument list length
-	if (assignment == "")
-	{
-		cout << "Usage: " << argv[0] << " mp1" << endl;
-		cout << "Run \'" << argv[0] << " --help\' for more information" << endl;
-		exit(0);
-	}
-
-	// Find mp/lab name and tests folder
-	if (assignment[assignment.length() - 1] == '/')
-		assignment = assignment.substr(0, assignment.length() - 1);
-	size_t slash_i = assignment.find_last_of('/');
-	string assignment_name = (slash_i == string::npos) ? assignment : assignment.substr(slash_i + 1);
-	string assignment_dir  = (slash_i == string::npos) ? "" : assignment.substr(0, slash_i);
-
-	// TODO (toole1): All this stuff is ugly!
-	vector<string> splitname = tokenize(assignment_name, '.');
-	assignment_base = splitname[0];
-	if (splitname.size() == 1)
-		mp_part = no_mp_part;
-	else
-		mp_part = lexical_cast<int>(splitname[1].c_str());
-	
-	gradeFolder = "./" + assignment_base + "_grade/";
-	if (!exists(gradeFolder)) opts::clean = true;
-
-	if (opts::clean)
-		tempFolder = "";
-	else
-		tempFolder  = "./" + assignment_base + "_temp/";
-
-	// Find source folder (i.e. ../mp1)
-	if (opts::solution)
-		sourceFolder = updateFolder(assignment_base + "_solution/", false);
-	else
-		sourceFolder = getFolder(assignment_base + '/', assignment_dir, false);
-
-	// tests folder
-	if (opts::provided)
-		testsFolder = updateFolder(assignment_base + "_provided/", false);
-	else if (opts::newtests)
-		testsFolder = updateFolder(assignment_base + "_newtests/", false);
-	else
-		testsFolder = updateFolder(assignment_base + "_tests/", false);
-}
-
-
-void monad::find_base_dir(const char * argv0)
-{
-	EXIT_IF_ERROR(argv0 == NULL);
-	size_t argv0len = strlen(argv0);
-	char * dir = new char[argv0len + 1];
-	strncpy(dir, argv0, argv0len);
-	dir[argv0len] = '\0';
-
-	size_t i = argv0len + 1;
-	do
-	{
-		i--;
-		if (argv0[i] == '/') break;
-	} while (i != 0);
-
-	// Change directory
-	if (i != 0)
-	{
-		dir[i] = '\0';
-		EXIT_IF_ERROR(chdir(dir));
-	}
-	delete [] dir;
-
-	// Ensure the dir is correct
-	if (!exists("./.monadid"))
-	{
-		cerr << "Could not find monad directory. "
-		        "Please run ./monad from the directory it is located in."
-		     << endl;
-		exit(-1);
-	}
-}
-
-
-void monad::copyRequiredFiles()
-{
-	// Clear out the temp testing folder
-	if (opts::clean)
-		forceRemoveDir(gradeFolder);
-	else
-	{
-		forceRemoveDir(tempFolder);
-		EXIT_IF_ERROR(rename(gradeFolder.c_str(), tempFolder.c_str())); 
-	}
-
-	exec("/bin/mkdir", gradeFolder);
-
-	// Copy and link appropriate files - parsed from config.ini
-	importFiles(tempFolder, "./",         gradeFolder, config["Monad Files"]);
-	importFiles(tempFolder, testsFolder,  gradeFolder, config["Testing Files"]);
-	importFiles("",         sourceFolder, gradeFolder, config["Required Files"]);
-	importFiles(tempFolder, "",           gradeFolder, config["Preserved Files"]);
-
-	forceRemoveDir(tempFolder);
-
-	getLibs(config["Libraries"]);
-}
-
-
-void monad::importFiles(const string & preservedFolder, const string & theSourceFolder,
-                 const string & destFolder, const vector<string> & files)
-{
-	// 0 for student errors for missing Required Files dir
-	int student_error_code = ((preservedFolder == "") ? 0 : -1);
-
-	assertExists(destFolder);
-	if (preservedFolder != "") assertExists(preservedFolder);
-	if (theSourceFolder    != "") assertExists(theSourceFolder, student_error_code);
-
-	for (size_t i = 0; i < files.size(); i++)
-	{
-		string preservedFile = preservedFolder + files[i];
-		string destFile      = destFolder      + files[i];
-
-		// Move the file from it's preservation instance
-		if (preservedFolder != "" && exists(preservedFile) &&
-		    (theSourceFolder == "" || (permissions(preservedFile) & S_IWUSR) == 0))
-		{
-//!!			cout << "mv " << preservedFile << ' ' << destFile << endl;
-			EXIT_IF_ERROR(rename(preservedFile.c_str(), destFile.c_str()));
-		}
-		else if (theSourceFolder != "")
-		{
-			// copy the file from it's source
-			string sourceFile = theSourceFolder + files[i];
-			assertExists(sourceFile, student_error_code);
-
-			// Remove hacky call to exec here...
-			EXIT_IF_ERROR(exec("cp", "-RL", sourceFile.c_str(), destFile.c_str()) != 0,
-				"cp " + sourceFile + " " + destFile + " failed");
-		}
-		else continue;
-
-		// TODO (toole1) Protect files. This is hacky and should be in util
-		// TODO (toole1) this should also be AFTER Pre-Make Commands
-		// EXIT_IF_ERROR(chmod(destFile.c_str(),
-		//	S_IRUSR | (permissions(destFile) & S_IXUSR)) != 0);
-	}
-}
-
-
-void monad::getLibs(const vector<string> & libs)
-{
-	for (size_t lib_i = 0; lib_i < libs.size(); lib_i++)
-	{
-		string folder = updateFolder(libs[lib_i], false);
-		protectDir(folder);
-		chdir(gradeFolder.c_str());
-		system(("/bin/ln -s ../"+folder+"* ./").c_str());
-		chdir("..");
-	}
-}
-
-string monad::updateFolder(const string & folder, bool link)
-{
-	string get = getFolder(folder, "", link);
-	if (opts::update)
-		exec("svn", "up", get /*, NULL*/);
-	return get;
-}
-
-string monad::tryGetFolder(string dirAndFolder, const string & target, bool link)
-{
-	if (dirAndFolder[dirAndFolder.length() - 1] == '/')
-		dirAndFolder = dirAndFolder.substr(0, dirAndFolder.size() - 1);
-	
-	if (exists(dirAndFolder + "/"))
-	{
-		if (!link) return dirAndFolder + "/";
-		EXIT_IF_ERROR(symlink(dirAndFolder.c_str(), target.c_str()) != 0);
-		return target + "/";
-	}
-
-	return "";
-}
-
-string monad::getFolder(const string & folder, const string & searchDir /* = "" */, bool link /* = false */)
-{
-	// TODO (toole1): All this stuff is ugly!
-	string target = "./" + folder;
-	string result;
-
-	// Look in the searchDir folder
-	if (searchDir != "")
-	{
-		result = tryGetFolder(searchDir + "/" + folder, target, link);
-		if (result != "") return result;
-		
-		// Try SVN
-		// Clear out our cache first
-		if (exists(target + "/"))
-			exec("rm", "-rf", target + "/");
-
-		EXIT_IF_ERROR(config["SVN Root"].size() != 1);
-		string svndir = config["SVN Root"][0] + "/" + searchDir + "/" + folder;
-
-		int svnstatus = exec("svn", "co", svndir /*, NULL*/);
-		if (svnstatus == 0) return target + "/";
-
-		cerr << "Error: " << folder << " not found." << endl;
-		exit(-1);
-	}
-
-	// Look in the parent folder
-	result = tryGetFolder("../" + folder, target, link);
-	if (result != "") return result;
-
-	// Look in the current folder
-	if (exists(target + "/"))
-		return target + "/";
-
-	// Look two directories up and over - why not? If the parent folder is
-	// the target source folder for the mp/lab, then the tests or libs
-	// may be two up and over
-	// This also covers the case where it is our parent folder
-	result = tryGetFolder("../../" + folder, target, link);
-	if (result != "") return result;
-
-	// Check Subversion
-
-	string svn_config_name;
-	string svn_config_subdir;
-	if (!opts::staff)
-	{
-		svn_config_name = "SVN Root";
-		svn_config_subdir = "SVN Public Dir";
-	}
-	else
-	{
-		svn_config_name = "Staff SVN";
-		svn_config_subdir = "Staff SVN Dir";
-	}
-	if (!config[svn_config_name].empty())
-	{
-		EXIT_IF_ERROR(config[svn_config_name].size()   != 1);
-		EXIT_IF_ERROR(config[svn_config_subdir].size() != 1);
-		string svndir = config[svn_config_name][0] + "/" + config[svn_config_subdir][0] + "/" + folder;
-
-		// TODO (toole1): Won't work if user needs to type password
-		int svnstatus = exec("svn", "co", svndir /*, NULL*/);
-		if (svnstatus == 0) return target + "/";
-	}
-
-	cerr << "Error: " << folder << " not found." << endl;
-	exit(-1);
-}
-
-
-// Execute a monad or command line command
-void monad::exec_command(const string & command)
-{
-	vector<string> args = tokenize(command, ' ');
-
-	// Allow processing of special internals
-	if (args[0] == "rename_main")
-	{
-		EXIT_IF_ERROR(args.size() != 3, "rename_main must take 2 arguments: a file and a new name");
-		rename_main(args[1], args[2]);
-		return;
-	}
-
-#if DEBUG
-	cout << "Pre-Make Command: " << command << endl;
-#endif
-	system(command.c_str());
-}
-
-
-
diff --git a/monad.h b/monad.h
deleted file mode 100644
index 1a7e036..0000000
--- a/monad.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef MONAD_H
-#define MONAD_H
-
-#include <iostream>
-#include <fstream>
-#include <map>
-#include <sstream>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <time.h>
-#include <unistd.h>
-#include <vector>
-
-#include "monad_shared.h"
-#include "random.h"
-#include "util.h"
-
-using namespace std;
-using namespace util;
-using namespace monad_shared;
-
-namespace monad
-{
-
-void printHelp();
-void printHelpConfig();
-void printHelpTests();
-void printLicense();
-const char * getRandomQuote();
-
-}
-
-#endif // MONAD_H
diff --git a/monad_shared.cpp b/monad_shared.cpp
deleted file mode 100644
index fb6f846..0000000
--- a/monad_shared.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#include <iostream>
-#include "monad_shared.h"
-#include "util.h"
-
-using namespace monad_shared;
-using namespace util;
-using std::cout;
-using std::cerr;
-using std::endl;
-
-namespace monad_shared
-{
-
-namespace versioninfo
-{
-const char * official_name = "Monad Autograder";
-const char * version_name  = "confession";
-const Version version_num  = Version(2, 1, 4, 3);
-const char * date          = "18 Jan 2012";
-}
-
-const char * unit_test_result::pass_string = "~~PASSED~~";
-const size_t header_length = 64;
-
-void printInfo()
-{
-	cout << endl
-	     << versioninfo::official_name << endl
-	     << "Version " << versioninfo::version_num << ": " << versioninfo::version_name << endl
-		 << "Released " << versioninfo::date << endl
-	     << "Developed by Jack Toole 2011-2012" << endl
-	     << "Copyright 2011-2012 Jack Toole" << endl
-	     << "Run monad --license to see licensing information" << endl
-		 << endl;
-}
-
-namespace output
-{
-
-// Set EXIT_IF_ERROR message
-void set_error_message()
-{
-	SET_ERROR_MESSAGE("Oops! Something went wrong inside of me.\n"
-		"Please contact course staff with the following error details, and they'll figure it out:\n");
-}
-
-void header(const string & title)
-{
-	cout << title << "..." << endl
-	     << string(header_length, '=') << endl;
-}
-
-void warning(const string & message)
-{
-	cerr << endl
-	     << string(header_length, '*') << endl
-		 << "WARNING!" << endl
-		 << message << endl
-	     << string(header_length, '*') << endl << endl;
-}
-
-
-void total_score(int32_t score, int32_t outof)
-{
-	if (outof < 0)
-		output::header("Total score");
-	else
-		output::header("Total score (out of " + to_string(outof) + ")");
-	
-	cout << "TOTAL SCORE: " << score << endl << endl;
-}
-
-void testname(const unit_test_input & curr_test, int32_t max_testname_len, int32_t max_points_len)
-{
-	// Output test name
-	int32_t pos = 0; // keep track of cursor position
-	std::cout << curr_test.name() << ' ';
-	pos += strlen(curr_test.name()) + 1;
-
-	if (curr_test.is_valgrind())
-	{
-		cout << "(valgrind) ";
-		pos += 11;
-	}
-
-	if (pos % 2 == max_testname_len % 2)
-	{
-		cout << ' ';
-		pos++;
-	}
-
-	while (pos < max_testname_len + 1)
-	{
-		cout << ". ";
-		pos += 2;
-	}
-	pos = 0; // reset column
-
-	std::cout << "[" << curr_test.points() << " pts] ";
-	pos += intlen(curr_test.points()) + 7;
-
-	while (pos < max_points_len + 7)
-	{
-		cout << ' ';
-		pos++;
-	}
-
-	cout << "- ";
-}
-
-
-void detailed_info(const unit_test_result & curr_test)
-{
-	std::cout << string(header_length, '-') << endl
-			  << curr_test.name();
-	if (curr_test.is_valgrind()) std::cout << " (run under valgrind)";
-	std::cout << " [" << curr_test.points() << " points]" << endl;
-
-	const string & error = curr_test.errormsg();
-	const string & output = curr_test.output();
-
-	if (curr_test.passed())
-		std::cout << "Result: " << passed_string() << endl;
-	else
-		std::cout << "Result: " << failed_string() << ": " << error << endl;
-
-	if (curr_test.time() < 0)
-		cout << "Took unknown time (";
-	else
-		cout << "Took " << curr_test.time() << "ms (";
-	cout << curr_test.timeout() << "ms timeout)" << endl;
-
-	std::cout << "Output:" << endl
-			  << string(header_length, '-') << endl;
-
-	// Tab the output over to distinguish it from the test case
-	if (output != "")
-	{
-		//std::cout << "    ";
-		//replaceAllInternal(output,"\n","\n    ");
-		std::cout << output;
-		if (output[output.length() - 1] != '\n') std::cout << endl;
-	}
-
-	cout << endl;
-}
-
-string passed_string()
-{
-	return colorize::make_color(colorize::GREEN, "passed");
-}
-
-string failed_string()
-{
-	return colorize::make_color(colorize::RED  , "FAILED");
-}
-
-} // namespace output
-} // namespace monad_shared
-
diff --git a/monad_shared.h b/monad_shared.h
deleted file mode 100644
index be64ec4..0000000
--- a/monad_shared.h
+++ /dev/null
@@ -1,128 +0,0 @@
-#ifndef MONAD_SHARED
-#define MONAD_SHARED
-
-#include "util.h"
-#include "pipestream.h"
-
-namespace monad_shared
-{
-	struct Version
-	{
-		int32_t major_;
-		int32_t minor_;
-		int32_t patch_;
-		int32_t build_;
-
-		Version(int32_t maj, int32_t min, int32_t pat, int32_t bld)
-			: major_(maj), minor_(min), patch_(pat), build_(bld)
-		{ }
-
-#if 0
-		Version(const std::string & s)
-		{
-			size_t i = 0;
-			
-		}
-#endif
-
-		void print(std::ostream & out) const
-		{
-			out << major_ << '.' << minor_ << '.' << patch_ << '.' << build_;
-		}
-	};
-
-	inline std::ostream & operator<<(std::ostream & out, const Version & v)
-	{
-		v.print(out);
-		return out;
-	}
-
-	namespace versioninfo
-	{
-		extern const char * official_name;
-		extern const char * version_name;
-		extern const Version version_num;
-		extern const char * date;
-	}
-
-	void printInfo();
-
-	struct unit_test_input
-	{
-		typedef void (*function)(util::pipestream &);
-		
-		private:
-		function func_;
-		const char * name_;
-		long timeout_;
-		int32_t points_;
-		bool is_valgrind_;
-
-		public:
-		unit_test_input(const char * _name,
-		          unit_test_input::function _func,
-		          int32_t _points,
-		          long _timeout,
-		          bool _is_valgrind)
-			: func_(_func),
-			  name_(_name),
-			  timeout_(_timeout),
-			  points_(_points),
-			  is_valgrind_(_is_valgrind) { }
-		
-		void execute(util::pipestream & checkstream) const { func_(checkstream); }
-		const char * name()        const { return name_;        }
-		long         timeout()     const { return timeout_;     }
-		int32_t      points()      const { return points_;      }
-		bool         is_valgrind() const { return is_valgrind_; }
-	};
-
-	struct unit_test_result : public unit_test_input
-	{
-		private:
-		std::string errormsg_;
-		std::string output_;
-		long time_;
-		int32_t valgrind_flags_;
-
-		public:
-		unit_test_result(const unit_test_input & _input,
-		                 const std::string & _errormsg,
-		                 const std::string & _output,
-		                 const long _time,
-		                 const int32_t _valgrind_flags)
-			: unit_test_input(_input),
-			  errormsg_((_errormsg != "") ? _errormsg : "Unexpectedly Aborted"),
-			  output_(_output),
-			  time_(_time),
-			  valgrind_flags_(_valgrind_flags) { }
-
-		const std::string & errormsg()      const { return errormsg_;       }
-		const std::string & output()        const { return output_;         }
-		long               time()           const { return time_;           }
-		int32_t            valgrind_flags() const { return valgrind_flags_; }
-
-		bool passed() const { return errormsg_ == pass_string; }
-		bool failed() const { return !passed(); }
-		int32_t points_scored() const { return passed() ? points() : 0; }
-
-		// Static class data
-		static const char * pass_string;
-		static bool _failed(const unit_test_result & obj) { return obj.failed(); }
-	};
-
-	namespace output
-	{
-		void set_error_message();
-		void header(const std::string & title);
-		void total_score(int32_t score, int32_t outof);
-		void warning(const std::string & message);
-		void testname(const unit_test_input & curr_test, int32_t max_testname_len, int32_t max_points_len);
-		void detailed_info(const unit_test_result & curr_test);
-		std::string passed_string();
-		std::string failed_string();
-	} // namespace output
-
-}
-
-#endif // MONAD_SHARED
diff --git a/pipestream.cpp b/pipestream.cpp
deleted file mode 100644
index ea6db27..0000000
--- a/pipestream.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-
-template <size_t buffersize>
-sizedpipestream<buffersize>::sizedpipestream()
-	: wbufferpos(0), rbufferpos(buffersize), rbuffersize(buffersize),
-	  maxopsize(-1), is_eof(false), enable_multiline_strings(true)
-{
-	// Give a compile time error if an invalid buffsize is specified
-	// This is necessary for much easier primitive reading/writing
-	// The buffer must be either 0 or at least large enough to hold any
-	// primitive (probably 8 or 16 bytes)
-	char buffer_size_must_be_0_or_over_16
-		[(buffersize != 0 && buffersize < sizeof(intmax_t)) ? -1 : 1];
-	buffer_size_must_be_0_or_over_16[0] = '\0';
-
-	// Create the pipe
-	pipe(fds);
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize>::~sizedpipestream()
-{
-	close();
-}
-
-template <size_t buffersize>
-void sizedpipestream<buffersize>::close()
-{
-	close_write();
-	close_read();
-}
-
-template <size_t buffersize>
-void sizedpipestream<buffersize>::close_read()
-{
-	if (fds[READ_END] == -1) return;
-	::close(fds[READ_END]);
-	fds[READ_END] = -1;
-}
-
-template <size_t buffersize>
-void sizedpipestream<buffersize>::close_write()
-{
-	if (fds[WRITE_END] == -1) return;
-	flush();
-	::close(fds[WRITE_END]);
-	fds[WRITE_END] = -1;
-}
-
-template <size_t buffersize>
-int sizedpipestream<buffersize>::steal_output(int fd)
-{
-	::close(fd);
-	dup2(fds[WRITE_END], fd);
-	return 0;
-}
-
-template <size_t buffersize>
-int sizedpipestream<buffersize>::steal_input(int fd)
-{
-	::close(fd);
-	dup2(fds[READ_END], fd);
-	return 0;
-}
-
-template <size_t buffersize>
-int sizedpipestream<buffersize>::get_read_fd()
-{
-	return fds[READ_END];
-}
-
-template <size_t buffersize>
-int sizedpipestream<buffersize>::get_write_fd()
-{
-	return fds[WRITE_END];
-}
-
-
-template <size_t buffersize>
-void sizedpipestream<buffersize>::flush()
-{
-	if (buffersize == 0 || wbufferpos == 0 || fds[WRITE_END] == -1)
-		return;
-
-	writen(fds[WRITE_END], &wbuffer[0], wbufferpos);
-	wbufferpos = 0;
-}
-
-template <size_t buffersize>
-int sizedpipestream<buffersize>::fill(size_t byte_count)
-{
-	if (buffersize == 0 || rbufferpos == 0 || fds[READ_END] == -1)
-		return -1;
-
-	if (buffersize - rbufferpos < byte_count)
-	{
-		memmove(&rbuffer[0], &rbuffer[rbufferpos], rbuffersize - rbufferpos);
-		rbuffersize -= rbufferpos;
-		rbufferpos = 0;
-	}
-
-	while (rbuffersize - rbufferpos < byte_count)
-	{
-		ssize_t read_count = ::read(fds[READ_END],
-		                            &rbuffer[rbuffersize],
-		                            buffersize - rbuffersize);
-		if (read_count == 0) return 0;
-		if (read_count == -1)
-		{
-			if (errno == EINTR) continue;
-			return -1;
-		}
-		rbuffersize += read_count;
-	}
-
-	return rbuffersize - rbufferpos;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const string & str)
-{
-	if (buffersize == 0)
-	{
-		writen(fds[WRITE_END], str.c_str(), str.length()+1);
-		return *this;
-	}
-
-	size_t len = str.length();
-	for (size_t i = 0; i < len; i++)
-	{
-		if (wbufferpos == buffersize) flush();
-		wbuffer[wbufferpos++] = str[i];
-	}
-	if (wbufferpos == buffersize) flush();
-	wbuffer[wbufferpos++] = '\0';
-	return *this;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const char * str)
-{
-	if (buffersize == 0)
-	{
-		writen(fds[WRITE_END], str, strlen(str)+1);
-		return *this;
-	}
-
-	for (size_t i = 0; str[i] != '\0'; i++)
-	{
-		if (wbufferpos == buffersize) flush();
-		wbuffer[wbufferpos++] = str[i];
-	}
-	if (wbufferpos == buffersize) flush();
-	wbuffer[wbufferpos++] = '\0';
-	return *this;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(char * & str)
-{
-	size_t capacity = 4;
-	str = new char[capacity];
-	size_t len = 0;
-
-	int error = 0;
-	char c = '\0';
-	do
-	{
-		error = read_primitive<char>(c);
-		if (len == maxopsize) continue;
-		
-		if (len == capacity)
-		{
-			char * temp = str;
-			str  = new char[capacity*2];
-			memcpy(str, temp, capacity);
-			capacity *= 2;
-			delete [] temp;
-		}
-		str[len++] = c;
-
-	} while (error > 0 && c != '\0' && (enable_multiline_strings || c != '\n'));
-	
-	str[len-1] = '\0';
-
-	if (!enable_multiline_strings && len > 2 && str[len-2] == '\r')
-		str[len-2] = '\0';
-
-	maxopsize = -1;
-	return *this;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(string & str)
-{
-	char * cstr = NULL;
-	operator>>(cstr);
-	str = cstr;
-	delete [] cstr;
-	return *this;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<
-	(pipestream_manip::enable_multiline_strings_t value)
-{
-	enable_multiline_strings = value.value;
-	return *this;
-}
-
-template <size_t buffersize>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>
-	(pipestream_manip::setmax_t max)
-{
-	maxopsize = max.max;
-	return *this;
-}
-
-template <size_t buffersize>
-inline bool sizedpipestream<buffersize>::eof()
-{ return is_eof; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const signed char & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const signed short & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const signed int & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const signed long & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const unsigned char & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const unsigned short & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const unsigned int & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator<<(const unsigned long & value)
-{ return write_primitive(value); }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(signed char & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(signed short & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(signed int & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(signed long & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(unsigned char & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(unsigned short & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(unsigned int & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-inline sizedpipestream<buffersize> & sizedpipestream<buffersize>::operator>>(unsigned long & value)
-{ read_primitive(value); return *this; }
-
-template <size_t buffersize>
-template <typename T>
-sizedpipestream<buffersize> & sizedpipestream<buffersize>::write_primitive(T value)
-{
-	if (fds[WRITE_END] == -1) return *this;
-
-	if (buffersize == 0)
-	{
-		writen(fds[WRITE_END], &value, sizeof value);
-		return *this;
-	}
-
-	if (buffersize - wbufferpos < sizeof value)
-		flush();
-
-	*reinterpret_cast<T*>(&wbuffer[wbufferpos]) = value;
-	wbufferpos += sizeof value;
-	return *this;
-}
-
-template <size_t buffersize>
-template <typename T>
-int sizedpipestream<buffersize>::read_primitive(T & value)
-{
-	if (fds[READ_END] == -1) return -1;
-
-	if (buffersize == 0)
-		return readn(fds[READ_END], &value, sizeof value);
-
-	if (rbuffersize - rbufferpos < sizeof value)
-	{
-		int error = fill(sizeof value);
-		if (error == 0) is_eof = true;
-		if (error <= 0) return error;
-	}
-
-	value = *reinterpret_cast<T*>(&rbuffer[rbufferpos]);
-	rbufferpos += sizeof value;
-	return sizeof value;
-}
-
-
diff --git a/pipestream.h b/pipestream.h
deleted file mode 100644
index 4657ebe..0000000
--- a/pipestream.h
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef UTIL_PIPESTREAM_H
-#define UTIL_PIPESTREAM_H
-#include <unistd.h>
-#include <errno.h>
-#include <string.h>
-#include "util.h"
-
-namespace util
-{
-
-namespace pipestream_manip {
-	struct setmax_t {
-		size_t max;
-	};
-
-	struct enable_multiline_strings_t {
-		bool value;
-	};
-}
-inline pipestream_manip::setmax_t setmax(size_t max)
-{
-	pipestream_manip::setmax_t retval = { max };
-	return retval;
-}
-
-const pipestream_manip::enable_multiline_strings_t enable_multiline_strings  = { true };
-const pipestream_manip::enable_multiline_strings_t disable_multiline_strings = { false };
-
-template <size_t buffersize>
-class sizedpipestream
-{
-	protected:
-	uint8_t wbuffer[buffersize+1]; // +1 to avoid 0 sized arrays
-	uint8_t rbuffer[buffersize+1];
-	size_t wbufferpos;
-	size_t rbufferpos;
-	size_t rbuffersize;
-	size_t maxopsize;
-	int fds[2];
-	bool is_eof;
-	bool enable_multiline_strings;
-	static const int READ_END  = 0;
-	static const int WRITE_END = 1;
-
-	public:
-	sizedpipestream();
-	
-	~sizedpipestream();
-	void close();
-	void close_read();
-	void close_write();
-	
-	bool eof();
-
-	void flush();
-	int fill(size_t byte_count);
-
-	int steal_output(int fd);
-	int steal_input(int fd);
-	
-	int get_read_fd();
-	int get_write_fd();
-
-	sizedpipestream<buffersize> & operator<<(const string & str);
-	sizedpipestream<buffersize> & operator<<(const char * str);
-	sizedpipestream<buffersize> & operator<<(const   signed char  & value);
-	sizedpipestream<buffersize> & operator<<(const   signed short & value);
-	sizedpipestream<buffersize> & operator<<(const   signed int   & value);
-	sizedpipestream<buffersize> & operator<<(const   signed long  & value);
-	sizedpipestream<buffersize> & operator<<(const unsigned char  & value);
-	sizedpipestream<buffersize> & operator<<(const unsigned short & value);
-	sizedpipestream<buffersize> & operator<<(const unsigned int   & value);
-	sizedpipestream<buffersize> & operator<<(const unsigned long  & value);
-
-	sizedpipestream<buffersize> & operator>>(string & str);
-	sizedpipestream<buffersize> & operator>>(char * & str);
-	sizedpipestream<buffersize> & operator>>(  signed char  & value);
-	sizedpipestream<buffersize> & operator>>(  signed short & value);
-	sizedpipestream<buffersize> & operator>>(  signed int   & value);
-	sizedpipestream<buffersize> & operator>>(  signed long  & value);
-	sizedpipestream<buffersize> & operator>>(unsigned char  & value);
-	sizedpipestream<buffersize> & operator>>(unsigned short & value);
-	sizedpipestream<buffersize> & operator>>(unsigned int   & value);
-	sizedpipestream<buffersize> & operator>>(unsigned long  & value);
-
-	sizedpipestream<buffersize> & operator<<(pipestream_manip::enable_multiline_strings_t value);
-	sizedpipestream<buffersize> & operator>>(pipestream_manip::setmax_t max);
-
-	protected:
-	template <typename T>
-	sizedpipestream<buffersize> & write_primitive(T value);
-	template <typename T>
-	int read_primitive(T & value);
-
-	private:
-	sizedpipestream(sizedpipestream<buffersize> & other);
-	sizedpipestream<buffersize> & operator=(sizedpipestream<buffersize> & other);
-};
-
-typedef sizedpipestream<512> pipestream;
-
-#include "pipestream.cpp"
-
-} // namespace util
-#endif
diff --git a/proxy.cpp b/proxy.cpp
deleted file mode 100644
index 576300c..0000000
--- a/proxy.cpp
+++ /dev/null
@@ -1,726 +0,0 @@
-// proxy.cpp
-// NOTE: This is a generic file. Actual unit tests are located in
-//       unit_tests.cpp.
-// By Jack Toole for CS 225 spring 2011
-
-// For strsignal:
-#ifndef _GNU_SOURCE
-	#define _GNU_SOURCE
-#endif
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-
-#include <algorithm>
-#include <iomanip>
-#include <numeric>
-
-#include "memcheck.h"
-#include "monad_shared.h"
-#include "pipestream.h"
-#include "proxy.h"
-#include "util.h"
-#include "valgrind.h"
-
-using namespace std;
-using namespace util;
-using namespace monad_shared;
-
-
-OUTPUT_CHECK(equals)
-{
-	return output == expected;
-}
-
-
-OUTPUT_CHECK(contains)
-{
-	return output.find(expected) != string::npos;
-}
-
-
-OUTPUT_CHECK(not_contains)
-{
-	return output.find(expected) == string::npos;
-}
-
-
-namespace proxy
-{
-	vector<unit_test_input> * global_tests = NULL;
-	output_check_map * global_output_checks = NULL;
-
-	double time_constant(size_t smaller, size_t larger) { return 1.0; }
-	double time_logn    (size_t smaller, size_t larger) { return log(larger) / log(smaller); }
-	double time_linear  (size_t smaller, size_t larger) { return (double)larger / smaller; }
-	double time_nlogn   (size_t smaller, size_t larger) { return (larger*log(larger)) / (smaller*log(smaller)); }
-	double time_nsquared(size_t smaller, size_t larger) { return ((double)larger*larger) / ((double)smaller*smaller); }
-	double time_cubed   (size_t smaller, size_t larger) { return ((double)larger*larger*larger) / ((double)smaller*smaller*smaller); }
-	double time_infinity(size_t smaller, size_t larger) { return std::numeric_limits<double>::max(); }
-
-	runtime_ratio_func runtime_ratio[TIME_COUNT] =
-	{
-		time_constant,
-		time_logn,
-		time_linear,
-		time_nlogn,
-		time_nsquared,
-		time_cubed,
-		time_infinity
-	};
-	const char * runtime_str[TIME_COUNT] =
-	{
-		"O(1)",
-		"O(logn)",
-		"O(n)",
-		"O(nlogn)",
-//		"O(nrootn)",
-		"O(n^2)",
-		"O(n^3)",
-		"O(infinity)"
-	};
-}
-
-
-
-int main(int argc, char ** argv)
-{
-	using namespace proxy;
-	
-	// set up EXIT_IF_ERROR messages
-	output::set_error_message();
-
-	RunTimeEnvironment::Options opts;
-	const char * testname = parse_options(argc, argv, opts);
-
-	// Set up run-time environment
-	RunTimeEnvironment env(global_tests, global_output_checks, opts, testname);
-
-	// Set up the tests
-	RunTests runner(env);
-
-	// Execute
-	return runner.execute();
-}
-
-
-namespace proxy {
-
-// class add_unit_test
-add_unit_test::add_unit_test(const char * name, unit_test_input::function func,
-                             int32_t points_in_part, int32_t points_in_total, long timeout,
-                             bool is_valgrind)
-{
-	lazy_init_global_tests();
-	int32_t points = get_points(points_in_total, points_in_part);
-	// Add to global tests vector
-	global_tests->push_back(unit_test_input(name, func, points, timeout, is_valgrind));
-}
-
-
-// Check to make global tests vector
-void add_unit_test::lazy_init_global_tests()
-{
-	if (global_tests == NULL)
-		global_tests = new std::vector<unit_test_input>;
-}
-
-// Discriminate which points value to add
-int32_t add_unit_test::get_points(int32_t points_in_total, int32_t points_in_part)
-{
-	#if MP_PART(NO_MP_PART)
-		return points_in_total;
-	#else
-		return points_in_part;
-	#endif
-}
-
-
-const char * parse_options(int argc, const char * const * const argv, RunTimeEnvironment::Options & opts)
-{
-	string getTestName = "all";
-
-	OptionsParser parseopts;
-	parseopts.addOption("verbose",  opts.verbose);
-	parseopts.addOption("redirect", opts.redirect_test_output);
-	parseopts.addOption("valgrind", opts.valgrind);
-	parseopts.addArg(getTestName);
-	parseopts.parse(argc, argv);
-
-	const char * testname = "all";
-	for (int32_t i = 0; i < argc; i++)
-		if (getTestName == argv[i])
-			testname = argv[i];
-	return testname;
-}
-
-
-// class add_output_check
-add_output_check::add_output_check(const char * name, output_check func)
-{
-	if (global_output_checks == NULL)
-		global_output_checks = new output_check_map;
-	(*global_output_checks)[name] = func;
-}
-
-
-
-// class Run_Time_Environment
-RunTimeEnvironment::RunTimeEnvironment(vector<unit_test_input> *& init_tests,
-                                       output_check_map *& init_output_checks,
-                                       const Options & init_opts, const char * testname)
-	: max_output_length(8*1024), //arbitrary
-	  single_test_passed_string("Result: passed"),
-	  heap_tests(init_tests),
-	  output_checks(init_output_checks != NULL ? init_output_checks : new output_check_map),
-	  opts(init_opts),
-	  mode(strcasecmp(testname, "all") == 0 ? ALL_TESTS : SINGLE_TEST),
-	  test_arg(testname)
-{
-	// Copy globals to the RunTimeEnvironment space
-	// And remove them from the global scope
-	static int8_t singleton = 0;
-	EXIT_IF_ERROR(singleton++ != 0, "There may only be one runtime environment");
-	EXIT_IF_ERROR(heap_tests == NULL, "No test cases found");
-	
-	init_tests = NULL;
-	init_output_checks = NULL;
-}
-
-
-void RunTimeEnvironment::cleanup_globals()
-{
-	static bool called_already = false;
-	if (!called_already)
-	{
-		if (heap_tests    != NULL) delete heap_tests;
-		if (output_checks != NULL) delete output_checks;
-		called_already = true;
-	}
-}
-
-
-
-// class RunTests
-RunTests::RunTests(RunTimeEnvironment & env)
-	: environment(env)
-{ }
-
-
-int32_t RunTests::execute()
-{
-	int32_t return_code = execute_by_mode();
-	environment.cleanup_globals();
-	return return_code;
-}
-
-
-int32_t RunTests::execute_by_mode()
-{
-	if (environment.mode == SINGLE_TEST)
-		return run_single_test(environment.test_arg);
-	else if (environment.mode == ALL_TESTS)
-		return run_all_tests();
-	
-	EXIT_IF_ERROR(true, string("Failed to implement case for mode ") + environment.mode);
-	exit(-1);
-}
-
-
-int32_t RunTests::run_single_test(const char * testname)
-{
-	const vector<unit_test_input> & tests = *environment.heap_tests;
-
-	for (size_t test_i = 0; test_i < tests.size(); test_i++)
-		if (strcmp(tests[test_i].name(), testname) == 0)
-			return run_single_test(tests[test_i]);
-
-	cout << "Test not found" << endl;
-	exit(-1);
-}
-
-
-int32_t RunTests::run_single_test(const unit_test_input & curr_test)
-{
-	cout << "Running " << curr_test.name() << " [worth "
-		 << curr_test.points() << " points, output below]" << endl;
-
-	unit_test_result result = execute_test(curr_test, false);
-
-	const string & error  = result.errormsg();
-
-	handle_single_test_output(result.output());
-
-	if (result.passed())
-		cout << environment.single_test_passed_string << endl;
-	else
-		cout << "Result: FAILED:" << endl << error << endl;
-
-	return result.valgrind_flags();
-}
-
-
-void RunTests::handle_single_test_output(const string & output)
-{
-	if (output != "")
-	{
-		cout << output;
-		if (output[output.size()-1] != '\n')
-			cout << endl;
-	}
-}
-
-int32_t foldTestScore (int score,  const unit_test_result & test) { return score  + test.points_scored(); }
-int32_t foldTestPoints(int points, const unit_test_input  & test) { return points + test.points(); }
-
-int RunTests::run_all_tests()
-{
-	const vector<unit_test_input> & tests = *environment.heap_tests;
-
-	output::header("Running tests");
-
-	int32_t points_sum = get_sum_points();
-	int32_t max_testname_len = get_max_testname_length();
-	int32_t max_points_len   = get_max_points_length();
-
-#if 0 // removed due to partial compilation lowering this number artificially
-	if (points_sum != 0 && points_sum < 100)
-		output::warning("Unit test scores sum to " + to_string(points_sum) +
-		                ", should be at least 100");
-#endif
-	if (points_sum > 125)
-		output::warning("Unit test scores sum to " + to_string(points_sum) +
-		                ", this will overflow the return value. Should be <= 125");
-
-	vector<unit_test_result> results;
-	for (size_t test_i = 0; test_i < tests.size(); test_i++)
-	{
-		output::testname(tests[test_i], max_testname_len, max_points_len);
-		results.push_back(execute_test(tests[test_i], true));
-		output_single_test_passfail(results.back());
-	}
-
-	const int32_t score = accumulate(results.begin(), results.end(), 0, foldTestScore);
-
-	cout << endl << endl;
-	output_detailed_info_if_any_failed(results, score);
-	output::total_score(score, -1);
-	
-	return score;
-}
-
-int32_t RunTests::get_sum_points()
-{
-	static int32_t cached_sum = INT_MIN;
-	if (cached_sum == INT_MIN)
-		cached_sum = accumulate(environment.heap_tests->begin(), environment.heap_tests->end(), 0, foldTestPoints);
-	return cached_sum;
-}
-
-int32_t RunTests::get_max_testname_length()
-{
-	const vector<unit_test_input> & tests = *environment.heap_tests;
-	int32_t max_testname_len = 0;
-	for (size_t test_i = 0; test_i < tests.size(); test_i++)
-	{
-		// TODO (toole1): This is horrible style!
-		int32_t currlen = strlen(tests[test_i].name()) + (int)tests[test_i].is_valgrind() * 11; // strlen(" (valgrind)");
-
-		if (currlen > max_testname_len)
-			max_testname_len = currlen;
-	}
-	return max_testname_len;
-}
-
-int32_t RunTests::get_max_points_length()
-{
-	const vector<unit_test_input> & tests = *environment.heap_tests;
-	uint32_t max_points_len = 0;
-	for (size_t test_i = 0; test_i < tests.size(); test_i++)
-		max_points_len = max(max_points_len, intlen(tests[test_i].points()));
-	return max_points_len;
-}
-
-void RunTests::output_detailed_info_if_any_failed(const vector<unit_test_result> & results, int32_t score)
-{
-	if (count_if(results.begin(), results.end(), unit_test_result::_failed) ||
-			environment.opts.verbose)
-		output_detailed_tests_info(results, score);
-}
-	
-	
-void RunTests::output_detailed_tests_info(const vector<unit_test_result> & results, int32_t score)
-{
-	output::total_score(score, -1);
-	cout << endl << endl;
-	
-	output::header("Detailed test output");
-	
-	for (size_t test_i = 0; test_i < results.size(); test_i++)
-		if (results[test_i].failed() || environment.opts.verbose)
-			output::detailed_info(results[test_i]);
-	
-	cout << endl << string(64, '-') << endl; // TODO (toole1): poor style, should be refactored to monad_shared::output
-}
-
-
-void RunTests::output_single_test_passfail(const unit_test_result & curr_test)
-{
-	if (curr_test.passed())
-		std::cout << output::passed_string() << endl;
-	else
-		std::cout << output::failed_string() << ": " << curr_test.errormsg() << endl;
-}
-
-test_execution::test_execution(const unit_test_input & _test, RunTimeEnvironment & env, bool enable_valgrind_call)
-	: test(_test), environment(env)
-{
-	do_valgrind = enable_valgrind_call && (test.is_valgrind() || env.opts.valgrind);
-//!!	if (!do_valgrind)
-//!!		test.checkstream = new pipestream; // TODO (reimplement)
-}
-
-void test_execution::child()
-{
-	fmsg_pipe.close_read();
-	cout_pipe.close_read();
-	nums_pipe.close_read();
-
-	// redirect stdout/stderr to pipe
-	if (environment.opts.redirect_test_output)
-	{
-		cout_pipe.steal_output(STDOUT_FILENO);
-		cout_pipe.steal_output(STDERR_FILENO);
-	}
-
-	if (do_valgrind)
-	{
-		child_valgrind();
-	}
-	else // if (!test.is_valgrind)
-	{
-		child_test();
-	}
-}
-
-void test_execution::parent()
-{
-	fmsg_pipe.close_write();
-	cout_pipe.close_write();
-	nums_pipe.close_write();
-//!!	if (test.checkstream != NULL)
-	checkstream.close_write();
-
-	// Read stdout/stderr pipe while process is running
-	if (environment.opts.redirect_test_output)
-		cout_pipe >> setmax(environment.max_output_length) >> output;
-	else
-		output = "Test output was displayed above instead of being buffered\n";
-	
-	cout_pipe.close_read();
-}
-
-unit_test_result test_execution::result(int8_t return_code)
-{
-	if (do_valgrind)
-		return after_valgrind_success(return_code);
-	else
-		return after_test_success();
-}
-
-unit_test_result test_execution::result(const Signal & s)
-{
-	string errormsg;
-	long time;
-	int32_t valgrind_flags = get_valgrind_flags(true);
-
-	fmsg_pipe.close();
-	nums_pipe.close();
-	if (environment.is_timeout_signal(s))
-	{
-		errormsg = string("Timed out") + " (" + to_string(test.timeout()) + "ms)";
-		time = test.timeout();
-	}
-	else
-		errormsg = s.what();
-	
-	return unit_test_result(test, errormsg, output, time, valgrind_flags);
-}
-
-
-unit_test_result RunTests::execute_test(const unit_test_input & test, bool enable_valgrind_call)
-{
-	cout << std::flush;
-	test_execution executor(test, environment, enable_valgrind_call);
-	try
-	{
-		int32_t return_code = fork_execute(executor);
-		return executor.result(return_code);
-	}
-	catch (Signal & s)
-	{
-		return executor.result(s);
-	}
-}
-
-template <typename F>
-int32_t fork_execute(F & executor)
-{
-	// Fork
-	pid_t process_id;
-	process_id = fork();
-	EXIT_IF_ERROR(process_id < 0, "Could not fork application");
-
-	if (process_id == 0)
-	{
-		executor.child();
-		exit(0);
-	}
-	else // if (process_id > 0)
-	{
-		executor.parent();
-
-		int child_status;
-		pid_t ws = waitpid(process_id, &child_status, 0); //should return immediately because it's after parent()
-		EXIT_IF_ERROR(ws == -1);
-
-		if (WIFEXITED(child_status))
-			return WEXITSTATUS(child_status);
-		else if (WIFSIGNALED(child_status))
-			throw Signal(WTERMSIG(child_status));
-		else
-			throw Signal(SIGSTOP);
-	}
-}
-
-void test_execution::child_valgrind()
-{
-	// We're giving up control to valgrind, so we can't
-	// Use anything but the cout pipe now
-	fmsg_pipe.close_write();
-	nums_pipe.close_write();
-	
-	start_timeout();
-	exec("valgrind", "--dsymutil=yes", "--trace-children=yes", /*"--log-fd=-1",*/ "-q", "./proxy", test.name());
-}
-
-
-void test_execution::child_test()
-{
-	checkstream.close_read();
-	// Execute test
-	bool test_failed = false;
-	long test_time = -1;
-	start_timeout();
-	try
-	{
-		test.execute(checkstream); // execute function
-		test_time = end_timeout();
-		fmsg_pipe << unit_test_result::pass_string;
-	}
-	catch (Failure & failure)
-	{
-		test_time = end_timeout();
-		test_failed = true;
-		// Write failure message to pipe
-		fmsg_pipe << failure.message();
-	}
-	fmsg_pipe.close();
-
-	// write time and valgrind flags to pipe
-//!!	delete test.checkstream;
-	checkstream.close();
-	environment.cleanup_globals();
-	int32_t valgrind_flags = get_valgrind_flags(test_failed);
-	nums_pipe << test_time;
-	nums_pipe << valgrind_flags;
-	nums_pipe.close();
-}
-
-
-unit_test_result test_execution::after_valgrind_success(int8_t return_code)
-{
-	fmsg_pipe.close_read();
-	nums_pipe.close_read();
-
-	string errormsg;
-
-	size_t last_endl = findNthLast(output, '\n', 2);
-	int32_t valgrind_flags = return_code;
-
-	if (last_endl == string::npos)
-	{
-		if (environment.opts.redirect_test_output)
-			errormsg = "Valgrind test did not complete";
-		else
-			errormsg = "Valgrind test output was not redirected to pipe because --redirect was set.";
-	}
-	else
-	{
-		errormsg = output.substr(last_endl + 1,
-				output.length() - last_endl - 2);
-
-		if (errormsg == environment.single_test_passed_string)
-			errormsg = get_valgrind_string(valgrind_flags);
-			// This will always be unit_test::pass_string unless someone tried to hack monad, in which case
-			// basing our passing on the return code (valgrind flags) rather than string parsing is the
-			// right thing to do
-	}
-
-	return unit_test_result(test, errormsg, output, -1, valgrind_flags);
-}
-
-
-unit_test_result test_execution::after_test_success()
-{
-	string errormsg;
-	long time;
-	int32_t valgrind_flags;
-
-	fmsg_pipe >> errormsg;
-	fmsg_pipe.close();
-	nums_pipe >> time;
-	nums_pipe >> valgrind_flags;
-	nums_pipe.close();
-	
-	// Check for output's correctness, if that was a condition of passing
-	if (errormsg == unit_test_result::pass_string)
-	{
-		while (!checkstream.eof())
-		{
-			string checkname;
-			string checkstr;
-			checkstream >> checkname;
-			if (checkstream.eof()) break;
-			checkstream >> checkstr;
-			if (checkstream.eof()) break;
-
-			output_check check_function = (*environment.output_checks).find(checkname)->second;
-			if (check_function == NULL)
-			{
-				cerr << "Internal Error: in test " << test.name() << ": "
-				     << checkname << " is not a registered OUTPUT_CHECK function" << endl;
-				exit(-2);
-			}
-
-			if (!check_function(output, checkstr))
-				errormsg = "Incorrect Terminal Output";
-		}
-	}
-	
-	if (errormsg == unit_test_result::pass_string)
-		errormsg = get_valgrind_string(valgrind_flags);
-
-//!!	delete test.checkstream;
-	checkstream.close();
-	
-	return unit_test_result(test, errormsg, output, time, valgrind_flags);
-}
-
-
-int32_t get_valgrind_flags(bool test_failed)
-{
-	// Check for valgrind errors or leaks (if running under valgrind)
-	unsigned long errors     = 0;
-	unsigned long leaked     = 0;
-	unsigned long dubious    = 0;
-	unsigned long reachable  = 0;
-	unsigned long suppressed = 0;
-
-	errors = VALGRIND_COUNT_ERRORS;
-	VALGRIND_DO_LEAK_CHECK; //QUICK
-	VALGRIND_COUNT_LEAK_BLOCKS(leaked, dubious, reachable, suppressed);
-
-	return bitflags(test_failed, errors, leaked, dubious, reachable);
-}
-
-
-const char * get_valgrind_string(int32_t flags)
-{
-	if (flags == 0) return unit_test_result::pass_string;
-
-	bool test_failed = bitflag(flags, 0);
-	bool errors      = bitflag(flags, 1);
-	bool leaked      = bitflag(flags, 2);
-	bool dubious     = bitflag(flags, 3);
-	bool reachable   = bitflag(flags, 4);
-
-	if (test_failed) return "Test failed (see output)";
-	if (errors)      return "Invalid read/write errors";
-	if (leaked)      return "Directly lost memory leaks";
-	if (dubious)     return "Possibly lost memory leaks";
-	// For now we will ignore reachable errors, as they are always present on Mac
-	// TODO (toole1): Refactor. Still reachable should still hit "unknown" below, not be a free pass
-	// (this doesn't impact current code paths, but is inelegant)
-	if (reachable)   return unit_test_result::pass_string; //"Still-reachable memory leaks";
-	return "Unknown memory errors";
-}
-
-bool test_execution::prof_timeout_enabled()
-{
-	struct itimerval temp;
-	errno = 0;
-	if (getitimer(ITIMER_PROF, &temp) == 0)
-		return true;
-	if (errno == EINVAL)
-		return false;
-	cerr << __FILE__ << ":" << __LINE__ << ": ERROR: getitimer failed" << endl;
-	exit(-1);
-}
-
-void test_execution::start_timeout()
-{
-	static const bool prof_enabled = prof_timeout_enabled();
-
-	struct itimerval timeout;
-	timeout.it_interval.tv_sec  = 0;
-	timeout.it_interval.tv_usec = 0;
-	timeout.it_value.tv_sec  = test.timeout()/1000;
-	timeout.it_value.tv_usec = (test.timeout()%1000) * 1000;
-
-	if (prof_enabled)
-	{
-		EXIT_IF_ERROR(setitimer(ITIMER_PROF, &timeout, NULL));
-		// second real time signal in case the student calls a blocking call
-		timeout.it_value.tv_sec *= 10;
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &timeout, NULL));
-	}
-	else
-	{
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &timeout, NULL));
-	}
-}
-
-
-long test_execution::end_timeout()
-{
-	static const bool prof_enabled = prof_timeout_enabled();
-
-	struct itimerval timeout;
-	timeout.it_interval.tv_sec  = 0;
-	timeout.it_interval.tv_usec = 0;
-	timeout.it_value.tv_sec  = 0;
-	timeout.it_value.tv_usec = 0;
-	struct itimerval remaining;
-
-	if (prof_enabled)
-	{
-		EXIT_IF_ERROR(setitimer(ITIMER_PROF, &timeout, &remaining));
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &timeout, NULL));
-	}
-	else
-	{
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &timeout, &remaining));
-	}
-
-	// There seems to be a strange -1 error here. I may just be tired,
-	// but I can't figure out why right now
-	long time = test.timeout() - remaining.it_value.tv_sec*1000 - remaining.it_value.tv_usec/1000;
-	return (time < 0) ? 0 : time;
-}
-
-
-
-} // namespace proxy
-
diff --git a/proxy.h b/proxy.h
deleted file mode 100644
index 47f47bb..0000000
--- a/proxy.h
+++ /dev/null
@@ -1,488 +0,0 @@
-// proxy.h
-// NOTE: This is a generic file. Actual unit tests are located in
-//       unit_tests.cpp.
-// By Jack Toole for CS 225 2011
-
-// Randomized inclusion guards so that students can't hotswap the proxy
-#ifndef PROXY_H
-#define PROXY_H
-
-#include <math.h>
-#include <signal.h>
-#include <string.h>
-
-#include <iostream>
-#include <functional>
-#include <limits>
-#include <map>
-#include <string>
-#include <vector>
-#include <utility>
-
-#include "pipestream.h"
-#include "monad_shared.h"
-#include "mp_part.h"
-
-namespace proxy
-{
-	using namespace std;
-	using namespace monad_shared;
-
-	class RunTests;
-	typedef bool (*output_check)(const std::string &, const std::string &);
-
-	extern std::vector<unit_test_input> * global_tests;
-	typedef std::map<std::string, output_check> output_check_map;
-	extern output_check_map * global_output_checks;
-
-	class add_unit_test
-	{
-		public:
-		add_unit_test(const char * name, unit_test_input::function func,
-		              int32_t points_in_part, int32_t points_in_total, long timeout,
-		              bool is_valgrind);
-
-		private:
-		void lazy_init_global_tests();
-		int32_t get_points(int32_t points_in_total, int32_t points_in_part);
-	};
-
-	class add_output_check
-	{
-		public:
-		add_output_check(const char * name, output_check func);
-	};
-
-	enum mode_t
-	{
-		SINGLE_TEST,
-		MP_PART_TESTS,
-		ALL_TESTS
-	};
-
-
-	struct RunTimeEnvironment
-	{
-		public:
-		// Types
-		struct Options
-		{
-			bool verbose;
-			bool redirect_test_output;
-			bool valgrind;
-
-			Options()
-				: verbose(false),
-				  redirect_test_output(true),
-				  valgrind(false)
-			{ }
-		};
-
-		// Variables
-		public:
-		const size_t max_output_length;
-		const char * const single_test_passed_string;
-		const std::vector<unit_test_input> * const heap_tests;
-		const output_check_map * const output_checks;
-		const Options opts;
-		const mode_t mode;
-		const char * const test_arg;
-
-		// Methods
-		public:
-		RunTimeEnvironment(std::vector<unit_test_input> *& init_tests,
-		                   output_check_map *& init_output_checks,
-		                   const Options & init_opts, const char * testname);
-		
-		bool is_timeout_signal(const util::Signal & s)
-		{
-			return s.number() == SIGPROF || s.number() == SIGALRM;
-		}
-		
-		void cleanup_globals();
-
-		private:
-		// Non-copyable
-		RunTimeEnvironment(const RunTimeEnvironment & other);
-		RunTimeEnvironment & operator=(RunTimeEnvironment & other);
-	};
-
-	class Failure
-	{
-		private:
-		const char * const myFile;
-		const size_t myLine;
-		const string myCause;
-		
-		public:
-		Failure(const char * file, size_t line, const string & cause)
-			: myFile(file), myLine(line), myCause(cause) { }
-
-		string message() const
-		{
-			stringstream ss;
-			ss << myFile << ":" << myLine << ": " << myCause;
-			return ss.str();
-		}
-	};
-
-	class RunTests
-	{
-		private:
-		RunTimeEnvironment & environment;
-
-		public:
-		RunTests(RunTimeEnvironment & env);
-		int execute();
-		private:
-		void process_args(int argc, char ** argv);
-
-		protected:
-		int32_t execute_by_mode();
-		int32_t run_single_test(const char * testname);
-		int32_t run_single_test(const unit_test_input & curr_test);
-		void    handle_single_test_output(const std::string & output);
-		void    output_single_test_passfail(const unit_test_result & curr_test);
-		
-		int32_t run_all_tests();
-		int32_t get_sum_points();
-		int32_t get_max_testname_length();
-		int32_t get_max_points_length();
-		void output_detailed_info_if_any_failed(const vector<unit_test_result> & results, int32_t score);
-		void output_detailed_tests_info(const vector<unit_test_result> & results, int32_t score);
-
-		unit_test_result execute_test(const unit_test_input & test, bool enable_valgrind_call);
-
-		private:
-		RunTests(const RunTests & other);
-		RunTests & operator=(const RunTests & other);
-	};
-
-	template <typename F>
-	int32_t fork_execute(F & executor);
-	
-	class test_execution
-	{
-		private:
-		util::pipestream fmsg_pipe; // For error messages
-		util::pipestream cout_pipe; // For stdout/stderr
-		util::pipestream nums_pipe; // for numbers: time, valgrind
-		const unit_test_input & test;
-		RunTimeEnvironment & environment;
-		bool do_valgrind;
-		util::pipestream checkstream;
-		string output;
-
-		public:
-		test_execution(const unit_test_input & _test, RunTimeEnvironment & env, bool enable_valgrind_call);
-		void parent();
-		void child();
-		unit_test_result result(int8_t return_code);
-		unit_test_result result(const util::Signal & s);
-
-		private:
-		void child_test();
-		void child_valgrind();
-		unit_test_result after_test_success();
-		unit_test_result after_valgrind_success(int8_t return_code);
-		void start_timeout();
-		long end_timeout();
-		static bool prof_timeout_enabled();
-		
-		private:
-		test_execution(const test_execution & other);
-		test_execution & operator=(const test_execution & other);
-	};
-
-
-	const char * get_valgrind_string(int32_t flags);
-	int32_t get_valgrind_flags(bool test_failed);
-	int32_t bitflags(unsigned long a,     unsigned long b = 0, unsigned long c = 0,
-					 unsigned long d = 0, unsigned long e = 0);
-	bool bitflag(int32_t flags, int32_t num);
-
-	const char * parse_options(int argc, const char * const * const argv, RunTimeEnvironment::Options & opts);
-
-} // namespace proxy
-
-using std::cout;
-using std::cerr;
-using std::endl;
-
-#define UNIT_TEST(func,pointsInPart,pointsInTotal,timeout)               \
-	namespace proxy_test {                                               \
-	void func(util::pipestream & ___monad_checkstream___);               \
-	proxy::add_unit_test                                                 \
-		func##_adder(#func, func, pointsInPart,                          \
-		             pointsInTotal, timeout, false);                     \
-	}                                                                    \
-	void proxy_test::func(util::pipestream & ___monad_checkstream___)
-
-#define VALGRIND_TEST(func,pointsInPart,pointsInTotal,timeout)           \
-	namespace proxy_test {                                               \
-	void func(util::pipestream & ___monad_checkstream___);               \
-	proxy::add_unit_test                                                 \
-		func##_adder(#func, func, pointsInPart,                          \
-		             pointsInTotal, timeout, true);                      \
-	}                                                                    \
-	void proxy_test::func(util::pipestream & ___monad_checkstream___)
-
-#define HELPER_TEST(func, ...)                                           \
-	namespace proxy_test {                                               \
-	void func(util::pipestream & ___monad_checkstream___, __VA_ARGS__);  \
-	}                                                                    \
-	void proxy_test::func(util::pipestream & ___monad_checkstream___, __VA_ARGS__)
-
-#define CALL_HELPER(func, ...)                                           \
-	do {                                                                 \
-		func(___monad_checkstream___, __VA_ARGS__);                      \
-	} while (0)
-
-#define DECLARE_OUTPUT_CHECK(func)  \
-	bool ___monad_output_check_##func(const std::string & output, const std::string & expected);
-
-#define OUTPUT_CHECK(func)                                                                       \
-	bool ___monad_output_check_##func(const std::string & output, const std::string & expected); \
-	proxy::add_output_check                                                                      \
-		___monad_output_check_##func##_adder(#func, ___monad_output_check_##func);               \
-	bool ___monad_output_check_##func(const std::string & output, const std::string & expected)
-
-#define STRINGIFY1(p)   #p
-#define STR(p)          STRINGIFY1(p)
-
-#define FAIL(error)     throw proxy::Failure(__FILE__, __LINE__, (error))
-
-#define PASS            return;
-
-#define ASSERT(expr)                               \
-	do {                                           \
-		if (!(expr))                               \
-			FAIL("Assertion (" #expr ") failed");  \
-	} while (0)
-
-namespace proxy {
-template <typename T, typename K>
-inline std::string assert_equals_help(const T & expected, const K & actual, const char * expstr, const char * actstr)
-{
-	std::stringstream ss;
-	if (actual != expected)
-	{
-		ss << "[" << actstr << " => " << actual << "] != [" << expstr << " => " << expected << "]";
-		return ss.str();
-	}
-	return monad_shared::unit_test_result::pass_string;
-}
-}
-
-#define ASSERT_EQUALS(expected, actual)                                                     \
-	do {                                                                                    \
-		string errormsg = proxy::assert_equals_help(expected, actual, #expected, #actual);  \
-		if (errormsg != monad_shared::unit_test_result::pass_string)                        \
-			FAIL(errormsg);                                                                 \
-	} while (0)
-
-namespace proxy {
-template <typename S>
-inline void assert_output_impl(util::pipestream & checkstream, output_check checkFunc, const char * checkFuncName, const S & str)
-{
-	if (checkFuncName == NULL) checkFunc("", ""); // Should never occur. Used to avoid unused variable warnings
-	checkstream << checkFuncName << str;
-}
-}
-
-#define ASSERT_OUTPUT(checkFunc, str)  \
-	proxy::assert_output_impl(___monad_checkstream___, ___monad_output_check_##checkFunc, #checkFunc, str)
-
-enum proxy_runtime_t
-{
-	CONSTANT_TIME = 0,
-	LOGN_TIME,
-	N_TIME,
-	NLOGN_TIME,
-//	NROOTN_TIME,
-	N2_TIME,
-	N3_TIME,
-	INFINITE_TIME,
-	TIME_COUNT
-};
-
-namespace proxy
-{
-	typedef double (*runtime_ratio_func)(size_t, size_t);
-	extern runtime_ratio_func runtime_ratio[TIME_COUNT];
-	extern const char * runtime_str[TIME_COUNT];
-
-	struct TimeIterationsData
-	{
-		double timePerCall;
-		size_t iterations;
-		uint64_t totalTime;
-	};
-
-	template <typename Generator, typename Timer, typename Cleaner>                  TimeIterationsData timeIterationsImpl(Generator gen,            Timer timeFunctor, Cleaner cleanupFunc, size_t input_size);
-	template <typename Generator, typename Timer, typename Cleaner>                  TimeIterationsData timeIterations    (Generator gen,            Timer timeFunctor, Cleaner cleanupFunc, size_t input_size);
-	template <typename GenResult, typename GenArg, typename Timer, typename Cleaner> TimeIterationsData timeIterations    (GenResult (*gen)(GenArg), Timer timeFunctor, Cleaner cleanupFunc, size_t input_size);
-	
-	template <typename Generator, typename Timer, typename Cleaner>
-	bool assert_time_impl(Generator gen, Timer functor, Cleaner cleanupFunc, proxy_runtime_t expectedTime, size_t size1 = 100, size_t size2 = 400);
-	
-	struct nop
-	{
-		template <typename T>
-		void operator()(const T & t) { }
-	};
-}
-
-#define ASSERT_TIME3(gen, functor, expectedTime)                                             \
-	do {                                                                                     \
-		if (proxy::assert_time_impl(gen, functor, proxy::nop(), expectedTime))                 \
-			FAIL(string("Runtime was larger than ") + proxy::runtime_str[expectedTime]);     \
-	} while(0)
-
-#define ASSERT_TIME4(gen, functor, cleanupFunc, expectedTime)                                \
-	do {                                                                                     \
-		if (proxy::assert_time_impl(gen, functor, cleanupFunc, expectedTime))                \
-			FAIL(string("Runtime was larger than ") + proxy::runtime_str[expectedTime]);     \
-	} while(0)
-
-#define ASSERT_TIME5(gen, functor, expectedTime, size1, size2)                               \
-	do {                                                                                     \
-		if (proxy::assert_time_impl(gen, functor, proxy::nop(), expectedTime, size1, size2))   \
-			FAIL(string("Runtime was larger than ") + proxy::runtime_str[expectedTime]);     \
-	} while(0)
-
-#define ASSERT_TIME6(gen, functor, cleanupFunc, expectedTime, size1, size2)                  \
-	do {                                                                                     \
-		if (proxy::assert_time_impl(gen, functor, cleanupFunc, expectedTime, size1, size2))  \
-			FAIL(string("Runtime was larger than ") + proxy::runtime_str[expectedTime]);     \
-	} while(0)
-
-// Crazy hack for overloading!
-// Arg counting from:
-// http://cplusplus.co.il/2010/07/17/variadic-macro-to-count-number-of-arguments/
-// Overloading tips:
-// http://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros
-#define ASSERT_TIME_SEVENTH_ARG(a, b, c, d, e, f, g, ...) g
-
-#define ASSERT_TIME(...)  \
-	ASSERT_TIME_SEVENTH_ARG(__VA_ARGS__, ASSERT_TIME6, ASSERT_TIME5, ASSERT_TIME4, ASSERT_TIME3, 0, 0) (__VA_ARGS__)
-
-namespace proxy {
-
-template <typename Generator, typename Timer, typename Cleaner>
-TimeIterationsData timeIterations(Generator gen, Timer timeFunctor, Cleaner cleanupFunc, size_t input_size)
-{
-	return timeIterationsImpl(
-			bind1st(mem_fun(&Generator::operator()), &gen),
-			timeFunctor,
-			cleanupFunc,
-			input_size);
-}
-
-template <typename GenResult, typename GenArg, typename Timer, typename Cleaner>
-TimeIterationsData timeIterations(GenResult (*gen)(GenArg), Timer timeFunctor, Cleaner cleanupFunc, size_t input_size)
-{
-	return timeIterationsImpl(ptr_fun(gen), timeFunctor, cleanupFunc, input_size);
-}
-
-template <typename Generator, typename Timer, typename Cleaner>
-TimeIterationsData timeIterationsImpl(Generator gen, Timer timeFunctor, Cleaner cleanupFunc, size_t input_size)
-{
-	const uint64_t min_time = 1000000; // in microseconds
-	const size_t max_gen_iterations = 1000000;
-	std::vector<typename Generator::result_type *> inputs;
-	inputs.reserve(2000); // arbitrary, guess at how big it will be
-
-	// Using pointers here allows us to avoid copying if the compiler supports copy elision
-	// Since we're intentionally using large inputs, this could potentially have a significant effect on speed
-	// We're also going to do something else weird here. Instead of generating a fixed number of inputs, we're
-	// going to generate inputs for a fixed time.
-	size_t max_iterations = 0;
-	for (uint64_t genstart = util::process_clock(); max_iterations < max_gen_iterations && util::process_clock() - genstart < min_time; max_iterations++)
-		inputs.push_back(new typename Generator::result_type(gen(input_size)));
-
-	typename Generator::result_type warmup_temp = gen(1);
-	timeFunctor(warmup_temp); // Warm up time functor (i.e. initialize statics)
-
-	size_t succeeded_iterations;
-	uint64_t starttime = util::process_clock();
-	for (succeeded_iterations = 0; succeeded_iterations < max_iterations && util::process_clock() - starttime < min_time;)
-		for (uint32_t i = 0; i < 10 && succeeded_iterations < max_iterations; i++, succeeded_iterations++)
-			timeFunctor(*inputs[succeeded_iterations]);
-	uint64_t endtime = util::process_clock();
-
-	for (size_t i = 0; i < max_iterations; i++)
-	{
-		cleanupFunc(*inputs[i]);
-		delete inputs[i];
-	}
-	cleanupFunc(warmup_temp);
-
-	TimeIterationsData result;
-	result.timePerCall = static_cast<double>(endtime - starttime) / succeeded_iterations;
-	result.iterations  = succeeded_iterations;
-	result.totalTime   = endtime - starttime;
-	return result;
-}
-
-inline void timeIterationsOutput(size_t size, const TimeIterationsData & data)
-{
-	std::cout << "Input size " << size << ": "
-	          << data.iterations << " iterations in " << data.totalTime/1000 << " ms "
-			  << "for an average of " << data.timePerCall << " us per call" << endl;
-}
-
-template <typename Generator, typename Timer, typename Cleaner>
-bool assert_time_impl(Generator gen, Timer functor, Cleaner cleanupMem, proxy_runtime_t expectedTime, size_t size1, size_t size2)
-{
-	TimeIterationsData diff0 = timeIterations(gen, functor, cleanupMem, 1);
-	TimeIterationsData diff1 = timeIterations(gen, functor, cleanupMem, size1);
-	TimeIterationsData diff2 = timeIterations(gen, functor, cleanupMem, size2);
-	timeIterationsOutput(    1, diff0);
-	timeIterationsOutput(size1, diff1);
-	timeIterationsOutput(size2, diff2);
-	double ratio = (diff2.timePerCall - diff0.timePerCall) / (diff1.timePerCall - diff0.timePerCall);
-	
-	double expected_ratio = proxy::runtime_ratio[expectedTime](size1, size2);
-	double toohigh_ratio  = proxy::runtime_ratio[expectedTime + 1](size1, size2);
-	double diffFromExpected = fabs(ratio - expected_ratio);
-	double diffFromWrong    = fabs(ratio - toohigh_ratio);
-	
-	std::cout << "Actual ratio:     " << ratio << std::endl;
-	std::cout << "Expected ratio:   " << expected_ratio << std::endl;
-	std::cout << "Wrong/high ratio: " << toohigh_ratio  << std::endl;
-	std::cout << "Diff from expected: " << diffFromExpected  << std::endl;
-	std::cout << "Diff from wrong:    " << diffFromWrong  << std::endl;
-
-#if 0 // This does not seem to be important. A sample of two iterations seems to work.
-	const size_t min_iters = 100;
-	if (diff0.iterations < min_iters || diff1.iterations < min_iters || diff2.iterations < min_iters)
-	{
-		std::cout << "Too few iterations: Code was too slow to be able to judge runtime accurately" << std::endl;
-		return true;
-	}
-#endif
-
-	return (diffFromWrong < diffFromExpected);
-}
-
-inline int32_t bitflags(unsigned long a, unsigned long b, unsigned long c,
-                        unsigned long d, unsigned long e)
-{
-	return ((int)(a != 0))        | (((int)(b != 0)) << 1) |
-           (((int)(c != 0)) << 2) | (((int)(d != 0)) << 3) |
-           (((int)(e != 0)) << 4) ;
-}
-
-inline bool bitflag(int32_t flags, int32_t num)
-{
-	return (flags & (1 << num)) != 0;
-}
-
-}
-
-DECLARE_OUTPUT_CHECK(equals);
-DECLARE_OUTPUT_CHECK(contains);
-DECLARE_OUTPUT_CHECK(not_contains);
-
-#endif
diff --git a/quotes.txt b/quotes.txt
deleted file mode 100644
index 68589e4..0000000
--- a/quotes.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-"That's legit as shit." ~ Rick Barber
-"The cheating sheet is key to success in CS 412 course." ~ CS 412 TA
-"Your job is not just what you're doing; it should be preparing you for what you want to do." ~ Michael Lopp
-"One day I will shoot you with this bullet. Can you still say that you love me?" ~ Re-l Mayer
-"I didn't say I wanted to die in a blender! I said I wanted to be in a blender!" ~ Kyle Johnson
-"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." ~ Edsger Dijkstra
-"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. Code for readability." ~ John Woods
-"The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change." ~ FORTRAN manual for Xerox computers
-"Any sufficiently advanced bug is indistinguishable from a feature." ~ Rich Kulawiec
-"Worry loudly now or scream louder later." ~ Michael Lopp
-"If you think you can do it all, you're thinking too small." ~ Michael Lopp
-"When you say 'You suck', I think 'I win'." ~ Michael Lopp
-"Honestly, if you don't fit in, then you're probably doing the right thing." ~ LIGHTS
-"It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter." ~ Nathaniel Borenstein
-"Simplicity and elegance are unpopular because thy require hard work and discipline to achieve and education to be appreciated." ~ Edsger Dijkstra
-"I love deadlines. I like the whooshing sound they make as they fly by." ~ Douglas Adams
-"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." ~ Brian Kernighan
-"The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time." ~ Tom Cargill
-"It always takes longer than you expect, even when you take into account Hofstadter's Law." ~ Hofstadter's Law
-"The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents." ~ Nathaniel Borenstein
-"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." ~ Antoine de Saint-Exupery
-"Even if by chance this world should end tomorrow, if it's together with you, would 'I'm okay with that too' be the cool attitude you'd take?" ~ Makino Yui
-"I just don't trust easily, and for good reasons... which are my own." ~ Carth Onasi
-"You think the sky is like a big big plate." ~ Prof. Jiawei Han
-"You look at their elbows, they actually have many good theoretical elbows." ~ Prof. Jiawei Han
-"If you don't hand in the next homework, you might miss some points" ~ Prof. Jiawei Han
-"I would build pyramids, if I were Pharoah" ~ Kyle Johnson
-"Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves." ~ Alan Kay
-"Microsoft has a new version out, Windows XP, which according to everybody is the 'most reliable Windows ever.' To me, this is like saying that asparagus is 'the most articulate vegetable ever.'" ~ Dave Barry
-"The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry." ~ Henry Petroski
-"There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies." ~ C.A.R. Hoare
-"There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone." ~ Bjarne Stroustrup
-"The trouble with programmers is that you can never tell what a programmer is doing until it's too late." ~ Seymour Cray
-"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." ~ Bill Gates
-"First, solve the problem. Then, write the code." ~ John Johnson
-"Optimism is an occupational hazard of programming; feedback is the treatment." ~ Kent Beck
-"To iterate is human, to recurse divine." ~ L. Peter Deutsch
-"Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration." ~ Stan Kelly-Bootle
-"I think Microsoft named .Net so it wouldn't show up in a Unix directory listing." ~ Oktal
-"C++ : Where friends have access to your private members." ~ Gavin Russell Baker
-"Java is, in many ways, C++–." ~ Michael Feldman
-"If debugging is the process of removing bugs, then programming must be the process of putting them in." ~ Edsger W. Dijkstra
-"A computer lets you make more mistakes faster than any invention in human history–with the possible exceptions of handguns and tequila." ~ Mitch Radcliffe
-"A computer will do what you tell it to do, but that may be much different from what you had in mind" ~ Joseph Weizenbaum
-"Computers are like Old Testament gods; lots of rules and no mercy." ~ Joseph Campbell
-"Programs must be written for people to read, and only incidentally for machines to execute." ~ Abelson and Sussman
-"If you just rely on one model, you tend to amputate reality to make it fit your model." ~ David Brooks
-"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats." ~ Howard H. Aiken
-"Eighty percent of success is showing up." ~ Woody Allen
-"If you're not failing every now and again, it's a sign you're not doing anything very innovative." ~ Woody Allen
-"We are what we repeatedly do. Excellence, then, is not an act, but a habit." ~ Aristotle
-"The most exciting phrase to hear in science - the one that heralds new discoveries - is not 'Eureka!' but 'That's funny....'" ~ Isaac Asimov
-"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question." ~ Charles Babbage
-"The cheapest, fastest, and most reliable components of a computer system are those that aren't there." ~ Gordon Bell
-"More than the act of testing, the act of designing tests is one of the best bug preventers known. The thinking that must be done to create a useful test can discover and eliminate bugs before they are coded - indeed, test-design thinking can discover and eliminate bugs at every stage in the creation of software, from conception to specification, to design, coding and the rest." ~ Boris Bezier
-"We don't have time to stop for gas, we're already late." ~ Mike Cleron
-"I hear and I forget; I see and I remember; I do and I understand." ~ Confucius
-"Doing more things faster is no substitute for doing the right things." ~ Stephen R. Covey
diff --git a/random.h b/random.h
deleted file mode 100644
index be927fd..0000000
--- a/random.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef UTIL_RANDOM_H
-#define UTIL_RANDOM_H
-
-#include <stdint.h>
-#include <sys/time.h>
-#include <time.h>
-
-// Taken from
-// http://software.intel.com/en-us/articles/fast-random-number-generator-on-the-intel-pentiumr-4-processor/
-
-namespace util
-{
-
-namespace internal
-{
-
-inline uint32_t time_seed()
-{
-	timeval tv;
-	gettimeofday(&tv, NULL);
-	return tv.tv_sec ^ tv.tv_usec;
-}
-
-inline int_fast16_t rand(uint32_t setseed)
-{
-	static uint32_t mySeed = (uint32_t)(-1);
-	if (setseed != (uint32_t)(-2))
-		mySeed = setseed;
-	if (mySeed == (uint32_t)(-1))
-		mySeed = time_seed();
-	mySeed = 214013 * mySeed + 2531011;
-	return (mySeed >> 16) & 0x7FFF;
-}
-
-}
-
-inline int_fast16_t urand()
-{
-	return internal::rand(-2);
-}
-
-inline int_fast16_t urandn(int32_t n)
-{
-	return urand() % n;
-}
-
-inline void usrand(uint64_t seed)
-{
-	internal::rand(seed);
-}
-
-class Random
-{
-	private:
-	static uint32_t auto_seed(uint32_t setSeed);
-	uint32_t mySeed;
-
-	public:
-	Random();
-	Random(uint64_t seed);
-
-	int_fast16_t rand();
-	int_fast16_t rand(int32_t n);
-	int_fast16_t operator()();
-	int_fast16_t operator()(int32_t n);
-	void         srand(uint64_t seed);
-};
-
-inline uint32_t Random::auto_seed(uint32_t setSeed)
-{
-	static uint32_t internalSeed = 0;
-	if (setSeed == 0)
-		return internalSeed;
-	
-	uint32_t result = internalSeed;
-	internalSeed = setSeed;
-	return result;
-}
-
-inline Random::Random()
-{
-	if (auto_seed(0) == 0)
-		auto_seed(internal::time_seed());
-	mySeed = auto_seed(0);
-	auto_seed((rand() << 16) ^ (rand()) ^ internal::time_seed());
-}
-
-inline Random::Random(uint64_t seed)
-	: mySeed(seed) { }
-
-inline void Random::srand(uint64_t seed)
-{
-	mySeed = seed;
-}
-
-inline int_fast16_t Random::rand()
-{
-	mySeed = 214013 * mySeed + 2531011;
-	return (mySeed >> 16) & 0x7FFF;
-}
-
-inline int_fast16_t Random::rand(int32_t n)
-{
-	return rand() % n;
-}
-
-inline int_fast16_t Random::operator()()
-{
-	return rand();
-}
-
-inline int_fast16_t Random::operator()(int32_t n)
-{
-	return rand(n);
-}
-
-} // namespace util
-
-#endif // UTIL_RANDOM_H
diff --git a/update.sh b/update.sh
index 55391d1..747f6c9 100755
--- a/update.sh
+++ b/update.sh
@@ -1,38 +1,32 @@
 #!/bin/bash
 # Clean monad_dev
-cd ../monad_dev
-make clean
-make
-cd ../monad
+mkdir source
 
 # Monad Binary
 cp ../monad_dev/monad .
-cp ../monad_dev/ccmonad .
-cp ../monad_dev/.monadid .
-cp ../monad_dev/valgrind.h .
-cp ../monad_dev/memcheck.h .
-cp ../monad_dev/Makefile.proxy .
-cp ../monad_dev/config.ini .
-cp ../monad_dev/memcheck.h .
-cp ../monad_dev/monad_shared.cpp .
-cp ../monad_dev/monad_shared.h .
-cp ../monad_dev/pipestream.cpp .
-cp ../monad_dev/pipestream.h .
-cp ../monad_dev/proxy.cpp .
-cp ../monad_dev/proxy.h .
-cp ../monad_dev/util.cpp .
-cp ../monad_dev/util.h .
-cp ../monad_dev/valgrind.h .
+cp ../monad_dev/source/memcheck.h .
+cp ../monad_dev/source/Makefile.proxy .
+cp ../monad_dev/source/config.ini .
+cp ../monad_dev/source/memcheck.h .
+cp ../monad_dev/source/monad_shared.cpp .
+cp ../monad_dev/source/monad_shared.h .
+cp ../monad_dev/source/pipestream.cpp .
+cp ../monad_dev/source/pipestream.h .
+cp ../monad_dev/source/proxy.cpp .
+cp ../monad_dev/source/proxy.h .
+cp ../monad_dev/source/util.cpp .
+cp ../monad_dev/source/util.h .
+cp ../monad_dev/source/valgrind.h .
 
 # Monad Source
-cp ../monad_dev/Makefile .
-cp ../monad_dev/LICENSE.txt .
-cp ../monad_dev/monad.h .
-cp ../monad_dev/monad.cpp .
-cp ../monad_dev/quotes.txt .
-cp ../monad_dev/random.h .
-cp ../monad_dev/README.txt .
-cp ../monad_dev/README_config.txt .
-cp ../monad_dev/README_tests.txt .
-cp ../monad_dev/help.cpp .
-cp ../monad_dev/ccmonad.cpp .
+cp ../monad_dev/source/Makefile .
+cp ../monad_dev/source/LICENSE.txt .
+cp ../monad_dev/source/monad.h .
+cp ../monad_dev/source/monad.cpp .
+cp ../monad_dev/source/quotes.txt .
+cp ../monad_dev/source/random.h .
+cp ../monad_dev/source/README.txt .
+cp ../monad_dev/source/README_config.txt .
+cp ../monad_dev/source/README_tests.txt .
+cp ../monad_dev/source/help.cpp .
+cp ../monad_dev/source/ccmonad.cpp .
diff --git a/util.cpp b/util.cpp
deleted file mode 100644
index c7887dd..0000000
--- a/util.cpp
+++ /dev/null
@@ -1,1268 +0,0 @@
-// CS 225 util.h
-// Created Spring 2011 by Jack Toole
-
-#include <ctype.h>
-#include <dirent.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <iostream>
-#include "util.h"
-
-extern char ** environ; // man 7 environ
-
-namespace util
-{
-
-namespace internal
-{
-const char * error_prefix = "";
-
-template<typename StrType>
-void exit_if_error_output(const char * file, int32_t line, StrType message)
-{
-	if (util::internal::error_prefix != NULL)
-		cerr << util::internal::error_prefix;
-	cerr << file << ":" << line << ": " << message;
-	if (errno != 0)
-		cerr << ": " << strerror(errno);
-	cerr << endl;
-	exit(-1);
-}
-
-}
-
-void SET_ERROR_MESSAGE(const char * message)
-{
-	internal::error_prefix = message;
-}
-
-namespace internal
-{
-namespace exec
-{
-
-char * allocateCstr(const string & str)
-{
-	char * cstr = new char[str.size() + 1];
-	str.copy(cstr, str.size());
-	cstr[str.size()] = '\0';
-	return cstr;
-}
-
-pair<int, int> getFdsFromStream(const ostream * stream)
-{
-	int redirect_fd;
-	int outpipe_fd = -1;
-
-	if (stream == NULL)
-		redirect_fd = -1;
-	else if (stream == &cout || stream == &cerr) // we don't handle cerr right now; it is just left unpiped
-		redirect_fd = STDOUT_FILENO;
-	else
-	{
-		int pipe_fds[2];
-		EXIT_IF_ERROR(pipe(pipe_fds) != 0);
-		redirect_fd = pipe_fds[1];
-		outpipe_fd = pipe_fds[0];
-	}
-
-	return make_pair(redirect_fd, outpipe_fd);
-}
-
-struct exec_timers
-{
-	struct itimerval remaining_real;
-	struct itimerval remaining_virtual;
-	struct itimerval remaining_prof;
-	bool supports_virtual;
-	bool supports_prof;
-	exec_timers() : supports_virtual(true), supports_prof(true) { }
-};
-
-exec_timers get_exec_timers()
-{
-	exec_timers result;
-	
-	EXIT_IF_ERROR(getitimer(ITIMER_REAL, &result.remaining_real));
-	
-	if (getitimer(ITIMER_VIRTUAL, &result.remaining_virtual) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			result.supports_virtual = false;
-			errno = 0;
-		}
-		else
-			exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_VIRTUAL) failed");
-	}
-	
-	if (getitimer(ITIMER_PROF, &result.remaining_prof) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			result.supports_prof = false;
-			errno = 0;
-		}
-		else
-			exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_PROF) failed");
-	}
-
-	return result;
-}
-
-void set_exec_timers(const exec_timers & timers)
-{
-	EXIT_IF_ERROR(setitimer(ITIMER_REAL, &timers.remaining_real, NULL));
-	if (timers.supports_virtual) EXIT_IF_ERROR(setitimer(ITIMER_VIRTUAL, &timers.remaining_virtual, NULL));
-	if (timers.supports_prof)    EXIT_IF_ERROR(setitimer(ITIMER_PROF,    &timers.remaining_prof, NULL));
-}
-
-void redirect_to_fd(const int redirect_fd)
-{
-	if (redirect_fd == -1)
-	{
-		int devnull_fd = open("/dev/null", O_WRONLY | O_NONBLOCK);
-		close(STDOUT_FILENO);
-		close(STDERR_FILENO);
-		dup2(devnull_fd, STDOUT_FILENO);
-		dup2(devnull_fd, STDERR_FILENO);
-		close(devnull_fd);
-	}
-	else if (redirect_fd != STDOUT_FILENO)
-	{
-		close(STDOUT_FILENO);
-		close(STDERR_FILENO);
-		dup2(redirect_fd, STDOUT_FILENO);
-		dup2(redirect_fd, STDERR_FILENO);
-		close(redirect_fd);
-	}
-}
-
-char ** cstr_array_from_vector_string(const string & command, const vector<string> & args)
-{
-	// TODO (toole1): check this doesn't cause a memleak
-	char ** args_cstr = new char*[args.size() + 2];
-	args_cstr[0] = allocateCstr(command);
-	for (size_t i = 0; i < args.size(); i++)
-		args_cstr[i + 1] = allocateCstr(args[i]);
-	args_cstr[args.size() + 1] = NULL;
-	return args_cstr;
-}
-
-} // namespace exec
-} // namespace internal
-
-// heavily refactored, but originally from:
-// http://stackoverflow.com/questions/2180079/how-can-i-copy-a-file-on-unix-using-c
-int8_t exec(const string & command, const vector<string> & args, ostream * output)
-{
-	using namespace internal;
-	using namespace internal::exec;
-
-	pair<int, int> fds = getFdsFromStream(output);
-	int redirect_fd = fds.first;
-	int outpipe_fd  = fds.second;
-
-	exec_timers timers = get_exec_timers();
-	
-	pid_t pid = fork();
-	EXIT_IF_ERROR(pid < 0);
-	if (pid == 0)
-	{
-		set_exec_timers(timers);
-		redirect_to_fd(redirect_fd);
-		if (outpipe_fd != -1)
-			close(outpipe_fd);
-
-		// Sanitize environment
-		char path[] = "PATH=/bin/:/usr/bin:/usr/local/bin";
-		// Turn off glibc errors default write-to-terminal behaviour, because
-		// it does not get caught by stderr. This instead results in an abort.
-		char redirect_glibc[] = "LIBC_FATAL_STDERR_=1";
-		char * newenv[] = { path, redirect_glibc, NULL };
-		environ = newenv;
-
-		char ** args_cstr = cstr_array_from_vector_string(command, args);
-
-		// Swap out child process image with the command, searching
-		// in the specified path
-		execvp(command.c_str(), args_cstr);
-		
-        // An error occured
-		cerr << "exec(" << '\"' << command << '\"';
-		for (size_t i = 0; i < args.size(); i++)
-			cerr << ", \"" << args[i] << "\"";
-		cerr << ") failed: " << strerror(errno) << endl;
-		exit(-1);
-	}
-	else
-	{
-		// Take the output of the pipe and put it into the *output stream
-		if (outpipe_fd != -1)
-		{
-			EXIT_IF_ERROR(output == NULL);
-			close(redirect_fd);
-
-			vector<char> buffer(1024);
-			ssize_t char_read_count;
-			do
-			{
-				errno = 0;
-				char_read_count = ::read(outpipe_fd, &buffer[0], buffer.size() - 1);
-				
-				if (char_read_count < 0 && errno == EINTR) continue;
-				EXIT_IF_ERROR(char_read_count < 0);
-				EXIT_IF_ERROR(static_cast<size_t>(char_read_count) + 1 > buffer.size());
-				
-				buffer[char_read_count] = '\0';
-				*output << &buffer[0];
-
-			} while (char_read_count > 0);
-		}
-
-		int childExitStatus;
-		/* parent - wait for child - this has all error handling, you
-		 * could just call wait() as long as you are only expecting to
-		 * have one child process at a time.
-		 */
-		pid_t ws = waitpid( pid, &childExitStatus, 0);
-		EXIT_IF_ERROR(ws == -1);
-
-		if (WIFEXITED(childExitStatus)) /* exit code in childExitStatus */
-		{
-			int8_t status = WEXITSTATUS(childExitStatus); /* zero is normal exit */
-			/* handle non-zero as you wish */
-			return status;
-		}
-		else if (WIFSIGNALED(childExitStatus)) /* killed */
-		{
-			// No idea why I'm doing this anymore... if it segfaults, you do too??
-			kill(getpid(), WTERMSIG(childExitStatus));
-			return -1;
-		}
-		else if (WIFSTOPPED(childExitStatus)) /* stopped */
-		{
-			//cout << "exec error: " << __LINE__ << endl;
-			return -1;
-		}
-		else
-			EXIT_IF_ERROR(true);
-		exit(-1);
-	}
-}
-
-// TODO (toole1) this is a total hack, should use execvp like exec() below
-// originally from:
-// http://stackoverflow.com/questions/2180079/how-can-i-copy-a-file-on-unix-using-c
-int8_t exec(int redirect_fd, const string & command, const vector<string> & args)
-{
-	using namespace internal::exec;
-
-	// For debugging:
-#if 0
-	cerr << "exec(" << '\"' << command << '\"';
-	for (size_t i = 0; i < args.size(); i++)
-		cerr << ", \"" << args[i] << "\"";
-	cerr << ")" << endl;
-#endif
-
-	// avoid self destruction errors from closing then trying to duplicate output
-	// you can't redirect to what's already there
-	if (redirect_fd == STDOUT_FILENO || redirect_fd == STDERR_FILENO)
-		redirect_fd = STDOUT_FILENO;
-
-	// Save timer values :)
-	// These are preserved across the parent, but not inherited by the child
-	// let's change that
-	struct itimerval remaining_real;
-	struct itimerval remaining_virtual;
-	struct itimerval remaining_prof;
-	bool supports_virtual = true;
-	bool supports_prof    = true;
-	EXIT_IF_ERROR(getitimer(ITIMER_REAL,    &remaining_real));
-	if (getitimer(ITIMER_VIRTUAL, &remaining_virtual) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			supports_virtual = false;
-			errno = 0;
-		}
-		else
-			internal::exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_VIRTUAL) failed");
-	}
-	if (getitimer(ITIMER_PROF, &remaining_prof) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			supports_prof = false;
-			errno = 0;
-		}
-		else
-			internal::exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_PROF) failed");
-	}
-
-	pid_t pid = fork();
-
-	if (pid == 0) /* child */
-	{
-
-		// Restore timers
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &remaining_real, NULL));
-		if (supports_virtual) EXIT_IF_ERROR(setitimer(ITIMER_VIRTUAL, &remaining_virtual, NULL));
-		if (supports_prof)    EXIT_IF_ERROR(setitimer(ITIMER_PROF,    &remaining_prof, NULL));
-
-		if (redirect_fd == -1)
-		{
-			int devnull_fd = open("/dev/null", O_WRONLY | O_NONBLOCK);
-			close(STDOUT_FILENO);
-			close(STDERR_FILENO);
-			dup2(devnull_fd, STDOUT_FILENO);
-			dup2(devnull_fd, STDERR_FILENO);
-			close(devnull_fd);
-		}
-		else if (redirect_fd != STDOUT_FILENO)
-		{
-			close(STDOUT_FILENO);
-			close(STDERR_FILENO);
-			dup2(redirect_fd, STDOUT_FILENO);
-			dup2(redirect_fd, STDERR_FILENO);
-		}
-
-		// Sanitize the environment
-#if 1 //!! hack!
-		char path[] = "PATH=/bin/:/usr/bin:/usr/local/bin";
-		// Turn off glibc errors default write-to-terminal behaviour, because
-		// it does not get caught by stderr. This instead results in an abort.
-		char redirect_glibc[] = "LIBC_FATAL_STDERR_=1";
-		char * newenv[] = { path, redirect_glibc, NULL };
-		//char * newenv[] = { path, NULL };
-		environ = newenv;
-#endif
-
-		// TODO (toole1): check this doesn't cause a memleak
-		char ** args_cstr = new char*[args.size() + 2];
-		args_cstr[0] = allocateCstr(command);
-		for (size_t i = 0; i < args.size(); i++)
-			args_cstr[i + 1] = allocateCstr(args[i]);
-		args_cstr[args.size() + 1] = NULL;
-		
-		// Swap out child process image with the command, searching
-		// in the specified path
-		execvp(command.c_str(), args_cstr);
-		
-        // An error occured
-		cerr << "exec(" << '\"' << command << '\"';
-		for (size_t i = 0; i < args.size(); i++)
-			cerr << ", \"" << args[i] << "\"";
-		cerr << ") failed: " << strerror(errno) << endl;
-		exit(-1);
-	}
-	else if (pid < 0)
-	{
-		/* error - couldn't start process - you decide how to handle */
-		return -1;
-	}
-	else
-	{
-		int childExitStatus;
-		/* parent - wait for child - this has all error handling, you
-		 * could just call wait() as long as you are only expecting to
-		 * have one child process at a time.
-		 */
-		pid_t ws = waitpid( pid, &childExitStatus, 0);
-		if (ws == -1)
-		{ /* error - handle as you wish */
-			//cout << "exec error: " << __LINE__ << endl;
-			return -1;
-		}
-
-		if (WIFEXITED(childExitStatus)) /* exit code in childExitStatus */
-		{
-			int8_t status = WEXITSTATUS(childExitStatus); /* zero is normal exit */
-			/* handle non-zero as you wish */
-			return status;
-		}
-		else if (WIFSIGNALED(childExitStatus)) /* killed */
-		{
-			kill(getpid(), WTERMSIG(childExitStatus));
-			return -1;
-		}
-		else if (WIFSTOPPED(childExitStatus)) /* stopped */
-		{
-			//cout << "exec error: " << __LINE__ << endl;
-			return -1;
-		}
-		else
-			return -1;
-	}
-}
-
-
-// originally from stackoverflow.com user plinth
-// http://stackoverflow.com/questions/2180079/how-can-i-copy-a-file-on-unix-using-c
-// Modified by Jack Toole
-int8_t exec(int redirect_fd, const char * command,
-            const char * arg1,
-            const char * arg2,
-            const char * arg3,
-            const char * arg4,
-            const char * arg5,
-            const char * arg6)
-{
-	int childExitStatus;
-	pid_t pid;
-
-	const char * args[] = {arg1, arg2, arg3, arg4, arg5, arg6};
-	const size_t args_count = (sizeof args) / (sizeof args[0]);
-
-	// shift all nulls to end
-	size_t first_null = 0;
-	for (size_t i = 0; i < args_count; i++)
-		if (args[i] != NULL)
-			swap(args[i], args[first_null++]);
-
-	// For debugging:
-#if 0
-	cerr << "exec(" << '\"' << command << '\"';
-	for (size_t i = 0; i < args_count; i++)
-		if (args[i] != NULL) cerr << ", \"" << args[i] << "\"";
-	cerr << ")" << endl;
-#endif
-
-	// avoid self destruction errors from closing then trying to duplicate output
-	// you can't redirect to what's already there
-	if (redirect_fd == STDOUT_FILENO || redirect_fd == STDERR_FILENO)
-		redirect_fd = STDOUT_FILENO;
-
-	// Save timer values :)
-	// These are preserved across the parent, but not inherited by the child
-	// let's change that
-	struct itimerval remaining_real;
-	struct itimerval remaining_virtual;
-	struct itimerval remaining_prof;
-	bool supports_virtual = true;
-	bool supports_prof    = true;
-	EXIT_IF_ERROR(getitimer(ITIMER_REAL,    &remaining_real));
-	if (getitimer(ITIMER_VIRTUAL, &remaining_virtual) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			supports_virtual = false;
-			errno = 0;
-		}
-		else
-			internal::exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_VIRTUAL) failed");
-	}
-	if (getitimer(ITIMER_PROF, &remaining_prof) != 0)
-	{
-		if (errno == EINVAL)
-		{
-			supports_prof = false;
-			errno = 0;
-		}
-		else
-			internal::exit_if_error_output(__FILE__, __LINE__, "getitimer(ITIMER_PROF) failed");
-	}
-
-	pid = fork();
-
-	if (pid == 0) /* child */
-	{
-
-		// Restore timers
-		EXIT_IF_ERROR(setitimer(ITIMER_REAL, &remaining_real, NULL));
-		if (supports_virtual) EXIT_IF_ERROR(setitimer(ITIMER_VIRTUAL, &remaining_virtual, NULL));
-		if (supports_prof)    EXIT_IF_ERROR(setitimer(ITIMER_PROF,    &remaining_prof, NULL));
-
-		if (redirect_fd == -1)
-		{
-			int devnull_fd = open("/dev/null", O_WRONLY | O_NONBLOCK);
-			close(STDOUT_FILENO);
-			close(STDERR_FILENO);
-			dup2(devnull_fd, STDOUT_FILENO);
-			dup2(devnull_fd, STDERR_FILENO);
-			close(devnull_fd);
-		}
-		else if (redirect_fd != STDOUT_FILENO)
-		{
-			close(STDOUT_FILENO);
-			close(STDERR_FILENO);
-			dup2(redirect_fd, STDOUT_FILENO);
-			dup2(redirect_fd, STDERR_FILENO);
-		}
-
-		// Sanitize the environment
-#if 1 //!! hack!
-		char path[] = "PATH=/bin/:/usr/bin:/usr/local/bin";
-		// Turn off glibc errors default write-to-terminal behaviour, because
-		// it does not get caught by stderr. This instead results in an abort.
-		char redirect_glibc[] = "LIBC_FATAL_STDERR_=1";
-		char * newenv[] = { path, redirect_glibc, NULL };
-		//char * newenv[] = { path, NULL };
-		environ = newenv;
-#endif
-
-		// Swap out child process image with the command, searching
-		// in the specified path
-		execlp(command, command, args[0], args[1], args[2], args[3], args[4], args[5], NULL);
-		
-        // An error occured
-		cerr << "exec(" << '\"' << command << '\"';
-		for (size_t i = 0; i < args_count; i++)
-			if (args[i] != NULL) cerr << ", \"" << args[i] << "\"";
-		cerr << ") failed: " << strerror(errno) << endl;
-		exit(-1);
-	}
-	else if (pid < 0)
-	{
-		/* error - couldn't start process - you decide how to handle */
-		return -1;
-	}
-	else
-	{
-		/* parent - wait for child - this has all error handling, you
-		 * could just call wait() as long as you are only expecting to
-		 * have one child process at a time.
-		 */
-		pid_t ws = waitpid( pid, &childExitStatus, 0);
-		if (ws == -1)
-		{ /* error - handle as you wish */
-			//cout << "exec error: " << __LINE__ << endl;
-			return -1;
-		}
-
-		if (WIFEXITED(childExitStatus)) /* exit code in childExitStatus */
-		{
-			int8_t status = WEXITSTATUS(childExitStatus); /* zero is normal exit */
-			/* handle non-zero as you wish */
-			return status;
-		}
-		else if (WIFSIGNALED(childExitStatus)) /* killed */
-		{
-			kill(getpid(), WTERMSIG(childExitStatus));
-			return -1;
-		}
-		else if (WIFSTOPPED(childExitStatus)) /* stopped */
-		{
-			//cout << "exec error: " << __LINE__ << endl;
-			return -1;
-		}
-		else
-			return -1;
-	}
-}
-
-const char * Signal::what() const
-{
-	const char * desc = strsignal(signum);
-	return (desc == NULL) ? "Unknown Signal" : desc;
-}
-
-
-int chdir(const string & dir)
-{
-	return ::chdir(dir.c_str());
-}
-
-void assertExists(const string & path, int exit_code /* = -1 */)
-{
-	if (!exists(path))
-	{
-		cerr << "Error: " << path << " does not exist." << endl;
-		exit(exit_code);
-	}
-}
-
-bool exists(const string & path)
-{
-	// Try stat-ing it
-	struct stat st;
-	if (stat(path.c_str(), &st) != 0) return false;
-	// Check for read permission
-	if ((st.st_mode & S_IRUSR) == 0) return false;
-
-	// Check for correct file/directory nature
-	if (path[path.length()-1] != '/') return S_ISREG(st.st_mode);
-
-	// Otherwise we want a directory
-	if ((st.st_mode & S_IXUSR) == 0) return false;
-	return S_ISDIR(st.st_mode);
-}
-
-
-mode_t permissions(const string & path)
-{
-	// Try stat-ing it
-	struct stat st;
-	if (stat(path.c_str(), &st) != 0) return -1;
-	// Check for read permission
-	if ((st.st_mode & S_IRUSR) == 0) return -1;
-
-	return (st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO));
-}
-
-
-void forceRemoveDir(string dir)
-{
-	size_t len = dir.length();
-	if (dir[len-1] == '/') dir[len-1] = '\0';
-	EXIT_IF_ERROR(exec("rm","-rf",dir.c_str()) != 0);
-	if (dir[len-1] == '\0') dir[len-1] = '/';
-}
-
-
-string getcwdstr()
-{
-	int len = 256;
-	char * buffer = new char[len];
-
-	char * ret = getcwd(&buffer[0], len - 1);
-	while (ret == NULL && errno == ERANGE)
-	{
-		len *= 2;
-
-		delete buffer;
-		buffer = new char[len];
-
-		ret = getcwd(&buffer[0], len - 1);
-	}
-
-	EXIT_IF_ERROR(ret == NULL);
-
-	string cwdstr(buffer);
-	delete buffer;
-
-	return cwdstr;
-}
-
-
-void copyFile(const string & source, const string & dest)
-{
-	assertExists(source);
-	vector<string> folders = tokenize(dest, '/');
-	string currdir = "";
-	for (size_t i = 0; i < folders.size() - 1; i++)
-	{
-		currdir += folders[i] + '/';
-		if (!exists(currdir))
-			exec("mkdir", currdir.c_str());
-	}
-	exec("cp", source.c_str(), dest.c_str());
-}
-
-void copyFiles(const string & sourceFolder, const string & destFolder, const vector<string> & files)
-{
-	assertExists(destFolder);
-	for (size_t i = 0; i < files.size(); i++)
-	{
-		string sourceFile = sourceFolder + files[i];
-		assertExists(sourceFile);
-		copyFile(sourceFile, destFolder);
-	}
-}
-
-
-void protectFiles(const string & folder, const vector<string> & files)
-{
-#if 0 // (debug)
-	for (size_t i = 0; i < files.size(); i++)
-	{
-		string file = folder + files[i];
-		assertExists(file);
-
-		if (chmod(file.c_str(), S_IRUSR) != 0)
-		{
-			perror("chmod failed");
-			exit(-1);
-		}
-	}
-#endif
-}
-
-void protectDir(const string & dir)
-{
-	// (debug) EXIT_IF_ERROR(exec("/bin/chmod", "-R", "ugoa-w", dir.c_str()) != 0);
-}
-
-// Originally from Simon Biber
-// http://bytes.com/topic/c/answers/545614-list-files-current-directory
-vector<string> get_files_in_dir(const string & dir, bool concatdir /* = true */)
-{
-	EXIT_IF_ERROR(dir == "" || dir[dir.length()-1] != '/', "Directory name must end in a '/'");
-	
-	vector<string> files;
-	DIR * dirp = opendir(dir.c_str());
-	if (dirp == NULL) return files;
-	
-	struct dirent * ent = readdir(dirp);
-	while (ent != NULL)
-	{
-		string file = ent->d_name;
-		if (file != "." && file != "..")
-			files.push_back(concatdir ? dir + file : file);
-		ent = readdir(dirp);
-	}
-
-	closedir(dirp);
-	return files;
-}
-
-bool is_symlink(const string & file)
-{
-	// Try lstat-ing it
-	struct stat st;
-	if (lstat(file.c_str(), &st) != 0) return -1;
-	// Check for read permission
-	if ((st.st_mode & S_IRUSR) == 0) return false;
-
-	// & with symlink bit
-	return (S_ISLNK(st.st_mode)) != 0;
-}
-
-string get_symlink_target(const string & symlink)
-{
-	const size_t buf_size = 4096;
-	char buf[buf_size+1]; // TODO (toole1): hack-y value
-	ssize_t len = readlink(symlink.c_str(), buf, buf_size);
-	EXIT_IF_ERROR(len < 0 || static_cast<size_t>(len) == buf_size, "Error getting target of symlink " + symlink);
-	buf[len] = '\0';
-	return string(buf);
-}
-
-void linkDirs(const string & sourceFolder, const string & destFolder, const vector<string> & dirs)
-{
-	assertExists(destFolder);
-	for (size_t i = 0; i < dirs.size(); i++)
-	{
-		string source = sourceFolder + dirs[i];
-		string target = destFolder   + dirs[i];
-
-		// Check for redundant monad/ directory
-		// This allows the monad/ dir to be safely renamed
-		if (replaceFirst(source, "/../monad/","/"))
-			replaceFirst(target, "/monad/","/");
-
-		assertExists(destFolder + source + '/');
-
-		if (symlink(source.c_str(), target.c_str()) != 0)
-		{
-			cerr << "symlink failed: " << target << ": ";
-			perror(NULL);
-			exit(-1);
-		}
-	}
-}
-
-
-bool replaceFirst(string & str, const string & toreplace, const string & with)
-{
-	size_t i = str.find(toreplace);
-	if (i != string::npos)
-	{
-		str.replace(i,toreplace.length(),with);
-		return true;
-	}
-	return false;
-}
-
-size_t replaceAll(string & str, const string & toreplace, const string & with)
-{
-	size_t i = str.find(toreplace);
-	size_t count = 0;
-
-	while (i != string::npos)
-	{
-		str.replace(i,toreplace.length(),with);
-		i = str.find(toreplace, i + with.length());
-		count++;
-	}
-
-	return count;
-}
-
-size_t replaceAllInternal(string & str, const string & toreplace, const string & with)
-{
-	size_t i = str.find(toreplace);
-	size_t count = 0;
-
-	while ((i != string::npos) && (i != str.length() - toreplace.length()))
-	{
-		str.replace(i,toreplace.length(),with);
-		i = str.find(toreplace, i + with.length());
-		count++;
-	}
-
-	return count;
-}
-
-
-size_t findNthLast(const string & str, char c, size_t n)
-{
-	if (str.length() == 0) return string::npos;
-	size_t i = str.length() - 1;
-
-	do
-	{
-		if (str[i] == c) n--;
-		if (n == 0) return i;
-	} while (i-- != 0);
-
-	return string::npos;
-}
-
-
-string read_string_from_FILE(FILE * file, size_t max_length /* = -1 */)
-{
-	vector<char> v;
-	v.reserve(256);
-
-	while (true) 
-	{
-		int nextchar = fgetc(file);
-		if (nextchar == '\0' || nextchar == EOF)
-			break;
-		if (v.size() < max_length)
-			v.push_back(nextchar);
-	}
-
-	if (v.size() == max_length)
-	{
-		v.push_back('.');
-		v.push_back('.');
-		v.push_back('.');
-	}
-
-	v.push_back('\0');
-
-	return string(&v[0]);
-}
-
-void write_string_to_FILE(FILE * file, const char * str)
-{
-	fflush(file);
-	size_t i = 0;
-	do
-	{
-//		cout << (int)str[i] << ' ';
-		fputc(str[i], file);
-
-		// We use a do-while because we want the \0 to be written to the stream
-		// for sending multiple strings
-	} while (str[i++] != 0);
-
-//	cout << endl;
-
-	fflush(file);
-}
-
-
-
-/**
-*
-*
-**/
-
-string readFile(const string & filename)
-{
-	ifstream file;
-	file.open(filename.c_str());
-	if (!file.good())
-		return "";
-	
-	stringbuf linebuf;
-	file.get(linebuf, '\0');
-	linebuf.pubsync();
-	return linebuf.str();
-}
-
-
-void readConfig(const string & testsFolder, FileMap & map, const string & discriminator /* = "" */)
-{
-	string file;
-	if (testsFolder == "" || testsFolder[testsFolder.length()-1] == '/')
-		file = testsFolder + "config.ini";
-	else
-		file = testsFolder;
-	readFileGeneric(file, &map, NULL, discriminator);
-}
-
-void readFile(const string & file, vector<string> & lines)
-{
-	readFileGeneric(file, NULL, &lines);
-}
-
-void readFileGeneric(const string & filename, FileMap * map, vector<string> * lines, const string & discriminator /* = "" */)
-{
-	ifstream infile;
-	istream * fileptr;
-	if (filename == "/dev/stdin")
-		fileptr = &cin;
-	else
-	{
-		fileptr = &infile;
-		infile.open(filename.c_str(), fstream::in);
-	}
-	istream & file = *fileptr;
-
-	vector<string> * section = NULL;
-	if (map != NULL) section = &(*map)[""];
-	else section = lines;
-
-	while ((file.good() && file.peek() == '\n') || file.peek() == '\r')
-		file.get(); // get '\n'
-
-	while (file.good())
-	{
-		// Read a line - A lot of code, I know, right?
-		stringbuf linebuf;
-		file.get(linebuf);
-		while ((file.good() && file.peek() == '\n') || file.peek() == '\r')
-			file.get(); // get '\n'
-		linebuf.pubsync();
-		string line = linebuf.str();
-		int len = line.length();
-		if (len == 0) continue;
-
-        if (line[len-1] == '\r')
-            line.replace(--len,1,"");
-
-		if (len == 0 || line[0] == ';') continue; // skip comments
-		
-		if (map != NULL)
-		{
-			// Update the section
-			if (line[0] == '[' && line[len-1] == ']')
-			{
-				section = &(*map)[line.substr(1, len - 2)];
-				continue;
-			}
-			else if (line[0] == '[' || line[len-1] == ']')
-			{
-				cout << "config.ini: Format error: " << line << endl;
-				exit(-1);
-			}
-		}
-
-		// Or add the line/file to the section
-		size_t delim_pos = line.find_first_of("?:");
-		if (delim_pos == string::npos || map == NULL)
-			section->push_back(line);
-		else if ((line[delim_pos] == ':' && (delim_pos == 0 || discriminator == "")) ||
-		         line.compare(0, delim_pos, discriminator) == 0)
-			section->push_back(line.substr(delim_pos+1, line.size()-delim_pos-1));
-	}
-
-	if (filename != "/dev/stdin")
-		infile.close();
-}
-
-
-OptionsParser::OptionsParser()
-{
-	valueMap[""]      = true;
-
-	valueMap["yes"]   = true;
-	valueMap["no"]    = false;
-
-	valueMap["on"]    = true;
-	valueMap["off"]   = false;
-
-	valueMap["true"]  = true;
-	valueMap["false"] = false;
-
-	valueMap["1"]     = true;
-	valueMap["0"]     = false;
-}
-
-vector<string> OptionsParser::parse(int argc, const char * const * argv)
-{
-	vector<string> unprocessedArgs;
-	size_t out_arg_i = 0;
-
-	for (int arg_i = 1; arg_i < argc; arg_i++)
-	{
-		string originalCaseArg = argv[arg_i];
-		string currarg = toLower(originalCaseArg);
-
-		if (currarg.compare(0, 2, "--") == 0) //long option
-		{
-			bool invert = (currarg.compare(2, 2, "no") == 0);
-			size_t name_i = (invert ? 4 : 2);
-			size_t equalspos = currarg.find_first_of("=-", name_i);
-			
-			string name = currarg.substr(name_i, equalspos - name_i);
-			string value = (equalspos >= currarg.length()) ? "" : currarg.substr(equalspos);
-
-			optsMap_t::iterator option = optsMap.find(name);
-			if (option == optsMap.end())
-			{
-				cerr << "Unknown option: " << currarg << endl;
-				exit(-1);
-			}
-
-			valueMap_t::iterator valueIt = valueMap.find(value);
-			if (valueIt == valueMap.end())
-			{
-				cerr << "Unknown value: " << currarg << endl;
-				exit(-1);
-			}
-
-			*option->second = valueIt->second ^ invert;
-		} // "--"
-
-		else if (currarg[0] == '-') //string of single char options
-		{
-			for (size_t c = 1; currarg[c] != '\0'; c++)
-			{
-				optsMap_t::iterator option = optsMap.find(string(1,currarg[c]));
-				if (option == optsMap.end())
-				{
-					cerr << "Unknown option: -" << currarg[c] << endl;
-					exit(-1);
-				}
-				*option->second = true;
-			}
-		}
-
-		else //positional argument
-		{
-			if (out_arg_i < args.size())
-				*args[out_arg_i] = originalCaseArg;
-			else
-				unprocessedArgs.push_back(originalCaseArg);
-			out_arg_i++;
-		}
-	}
-	
-	return unprocessedArgs;
-}
-
-char * processOptions(int argc, char ** argv, OptionsMap & opts, vector<string> & args)
-{
-	for (int arg_i = 1; arg_i < argc; arg_i++)
-	{
-		char * currarg = argv[arg_i];
-
-		if (strncmp(currarg, "--", 2) == 0) //long option
-		{
-			bool value, invert;
-			size_t string_i;
-
-			if (strncasecmp(currarg+2, "no", 2) == 0)
-			{
-				invert = true;
-				string_i = 4;
-			}
-			else
-			{
-				invert = false;
-				string_i = 2;
-			}
-			
-			size_t equals_i = string_i;
-			while (currarg[equals_i] != '\0' && currarg[equals_i] != '=')
-				equals_i++;
-			if (currarg[equals_i] == '=')
-				currarg[equals_i++] = '\0';
-
-			OptionsMap::iterator option = opts.find(currarg+string_i);
-
-			if (option == opts.end())
-			{
-				cerr << "Unknown option: " << currarg << endl;
-				return currarg;
-			}
-
-			char valuechar = tolower(currarg[equals_i]);
-			if (valuechar == 'o') valuechar = tolower(currarg[equals_i+1]) + 1;
-			switch (valuechar)
-			{
-				case '\0'  : value = true;  break;
-				case 'f'+1 : value = false; break; //off: see 'o' above
-				case 'n'   : value = false; break;
-				case 'n'+1 : value = true;  break; //on: contrast 'n': see 'o' above
-				case 't'   : value = true;  break;
-				case 'y'   : value = true;  break;
-				default:
-					cerr << "Unknown option value: " << currarg << endl;
-					return currarg;
-			}
-
-			(*option).second = value ^ invert;
-		} // "--"
-
-		else if (currarg[0] == '-') //string of single char options
-		{
-			for (size_t c = 1; currarg[c] != '\0'; c++)
-			{
-				OptionsMap::iterator option = opts.find(string(1,currarg[c]));
-				if (option == opts.end())
-				{
-					cerr << "Unknown option: -" << currarg[c] << endl;
-					currarg[1] = currarg[c];
-					currarg[2] = '\0';
-					return currarg;
-				}
-				(*option).second = true;
-			}
-		}
-
-		else //positional argument
-			args.push_back(currarg);
-	}
-	
-	return NULL;
-}
-
-
-
-void makeLower(string & str)
-{
-	for (size_t i = 0; i < str.length(); i++)
-	{
-		str[i] = tolower(str[i]);
-	}
-}
-
-string toLower(const string & str)
-{
-	string s(str);
-	makeLower(s);
-	return s;
-}
-
-
-
-/**
-*  A wrapper function which writes a buffer to a file.
-**/
-ssize_t writeBytesToFile(signed int fileDescriptor, const char * buffer, unsigned int bufferLength) {
-	return writen(fileDescriptor, buffer, bufferLength);
-}
-
-
-// From Steven's Unix Net Programming
-// http://www.kohala.com/start/
-/* Write "n" bytes to a descriptor. */
-ssize_t writen(int fd, const void *vptr, size_t n)
-{
-	size_t         nleft;
-	ssize_t        nwritten;
-	const int8_t * ptr;
-
-	ptr = static_cast<const int8_t*>(vptr);
-	nleft = n;
-	while (nleft > 0) {
-		if ( (nwritten = ::write(fd, ptr, nleft)) <= 0) {
-			if (errno == EINTR)
-				nwritten = 0; /* and call write() again */
-			else
-				return -1; /* error */
-		}
-
-		nleft -= nwritten;
-		ptr   += nwritten;
-	}
-	return n;
-}
-
-
-
-
-// From Steven's Unix Net Programming
-// http://www.kohala.com/start/
-/* Read "n" bytes from a descriptor. */
-ssize_t readn(int fd, void *vptr, size_t n)
-{
-	size_t   nleft;
-	ssize_t  nread;
-	int8_t * ptr;
-
-	ptr = static_cast<int8_t*>(vptr);
-	nleft = n;
-	while (nleft > 0) {
-		if ( (nread = ::read(fd, ptr, nleft)) < 0) {
-			if (errno == EINTR)
-				nread = 0; /* and call read() again */
-			else
-				return -1;
-		}
-		else if (nread == 0)
-			break; /* EOF */
-
-		nleft -= nread;
-		ptr   += nread;
-	}
-	return n - nleft; /* return >= 0 */
-}
-
-
-void rename_main(const string & file, const string & newname)
-{
-	if (newname[0] != '_')
-	{
-		cerr << "INTERNAL ERROR: " __FILE__ << ":" << __LINE__
-		     << "newname argument to rename_main must begin with an underscore to ensure replacement safety" << endl;
-		exit(-2);
-	}
-	assertExists(file);
-	exec( "sed", "-i", "-e",
-	      ( "s/int[\\r\\n \\t][\\r\\n \\t]*main(.*)/int " + newname +
-		    "(int argc, char ** argv)/" ).c_str(),
-	      file.c_str() );
-}
-
-vector<string> tokenize(const string & str, char delim)
-{
-	vector<string> args;
-	
-	size_t start = 0;
-	size_t end;
-	for (end = str.find(delim); end != string::npos; end = str.find(delim, start))
-	{
-		args.push_back(str.substr(start, end - start));
-		start = end+1;
-	}
-	args.push_back(str.substr(start, str.size() - start));
-	
-	return args;
-}
-
-vector<string> tokenize(const string & str, const string & delims)
-{
-	vector<string> args;
-	
-	size_t start = 0;
-	while (start < str.length() && delims.find(str[start]) != string::npos) start++;
-	size_t end;
-	for (end = str.find_first_of(delims); end != string::npos; end = str.find_first_of(delims, start))
-	{
-		args.push_back(str.substr(start, end - start));
-		start = end+1;
-		while (start < str.length() && delims.find(str[start]) != string::npos) start++;
-	}
-	if (start < str.length())
-		args.push_back(str.substr(start, str.length() - start));
-	
-	return args;
-}
-
-namespace colorize
-{
-const char * BLACK = "\033[39m";
-const char * GREEN = "\033[32m";
-const char * RED   = "\033[31m";
-const bool is_color_enabled = isatty(STDOUT_FILENO);
-
-
-}
-
-} // namespace util
-
diff --git a/util.h b/util.h
deleted file mode 100644
index 9da2b72..0000000
--- a/util.h
+++ /dev/null
@@ -1,403 +0,0 @@
-/* CS 225 Util Library
- * 
- * @author Jack Toole
- */
-
-#ifndef UTIL_H
-#define UTIL_H
-
-#define __STDC_LIMIT_MACROS
-
-#include <errno.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <time.h>
-#include <unistd.h>
-#include <fstream>
-#include <iostream>
-#include <map>
-#include <sstream>
-#include <string>
-#include <vector>
-
-namespace util
-{
-using namespace std;
-
-namespace internal
-{
-extern const char * error_prefix;
-}
-
-/************************************************************************/
-/* Comparator for case-insensitive comparison in STL assos. containers  */
-/* From Abhay:                                                          */
-/* http://stackoverflow.com/questions/1801892/making-mapfind-operation-case-insensitive */
-/************************************************************************/
-struct ci_less : std::binary_function<std::string, std::string, bool>
-{
-	// case-independent (ci) compare_less binary function
-	struct nocase_compare : public std::binary_function<unsigned char,unsigned char,bool> 
-	{
-		bool operator() (const unsigned char& c1, const unsigned char& c2) const
-		{
-			return tolower (c1) < tolower (c2);
-		}
-	};
-	bool operator() (const std::string & s1, const std::string & s2) const
-	{
-		return std::lexicographical_compare
-			(s1.begin (), s1.end (),   // source range
-			s2.begin (), s2.end (),   // dest range
-			nocase_compare ());  // comparison
-	}
-};
-
-// http://stackoverflow.com/questions/5300602/template-return-type-with-default-value
-template <typename T>
-struct Initializer
-{
-	T value;
-	Initializer()
-		:value() // ====> default construction, works for classes _and_ built-in
-	{ }
-};
-
-class Signal
-{
-	private:
-	const int signum;
-	public:
-	Signal(int signal_number) : signum(signal_number) { }
-	int number() const { return signum; }
-	const char * what() const;
-};
-
-
-
-/**
-*  Here we create a useful and easily understanable alias for the map.
-**/
-typedef map<string, vector<string>, ci_less> FileMap;
-typedef map<string, bool, ci_less> OptionsMap;
-
-class OptionsParser
-{
-	private:
-	typedef map<string, bool*> optsMap_t;
-	typedef map<string, bool>  valueMap_t;
-	valueMap_t valueMap; // not static to prevent still reachable memory
-	
-	optsMap_t  optsMap;
-	vector<string *> args;
-
-	public:
-	OptionsParser();
-	void addOption(const string & name, bool & setValue) { optsMap[name] = &setValue; }
-	void addArg(string & setValue) { args.push_back(&setValue); }
-	vector<string> parse(int argc, const char * const * argv);
-};
-
-// EXEC()
-int8_t exec(int redirect_fd, const char * command,
-            const char * arg1 = NULL,
-            const char * arg2 = NULL,
-            const char * arg3 = NULL,
-            const char * arg4 = NULL,
-            const char * arg5 = NULL,
-            const char * arg6 = NULL);
-
-inline
-int8_t exec(const char * command,
-            const char * arg1 = NULL,
-            const char * arg2 = NULL,
-            const char * arg3 = NULL,
-            const char * arg4 = NULL,
-            const char * arg5 = NULL,
-            const char * arg6 = NULL)
-{ return exec(STDOUT_FILENO, command, arg1, arg2, arg3, arg4, arg5, arg6); }
-
-inline int8_t exec(const string & command) { return exec(command.c_str()); }
-inline int8_t exec(const string & command, const string & arg1) { return exec(command.c_str(), arg1.c_str()); }
-inline int8_t exec(const string & command, const string & arg1, const string & arg2) { return exec(command.c_str(), arg1.c_str(), arg2.c_str()); }
-inline int8_t exec(const string & command, const string & arg1, const string & arg2, const string & arg3) { return exec(command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str()); }
-inline int8_t exec(const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4) { return exec(command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str()); }
-inline int8_t exec(const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4, const string & arg5) { return exec(command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str(), arg5.c_str()); }
-inline int8_t exec(const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4, const string & arg5, const string & arg6) { return exec(command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str(), arg5.c_str(), arg6.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command) { return exec(redirect_fd, command.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1) { return exec(redirect_fd, command.c_str(), arg1.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1, const string & arg2) { return exec(redirect_fd, command.c_str(), arg1.c_str(), arg2.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1, const string & arg2, const string & arg3) { return exec(redirect_fd, command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4) { return exec(redirect_fd, command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4, const string & arg5) { return exec(redirect_fd, command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str(), arg5.c_str()); }
-inline int8_t exec(int redirect_fd, const string & command, const string & arg1, const string & arg2, const string & arg3, const string & arg4, const string & arg5, const string & arg6) { return exec(redirect_fd, command.c_str(), arg1.c_str(), arg2.c_str(), arg3.c_str(), arg4.c_str(), arg5.c_str(), arg6.c_str()); }
-int8_t exec(int redirect_fd, const string & command, const vector<string> & args);
-int8_t exec(const string & command, const vector<string> & args, ostream * output);
-inline int8_t exec(const string & command, const vector<string> & args) { return exec(command, args, &std::cout); }
-
-// FILESYSTEM FUNCTIONS
-void assertExists(const string & path, int exit_code = -1);
-bool exists(const string & path);
-mode_t permissions(const string & path);
-void forceRemoveDir(string dir);
-string getcwdstr();
-
-int  chdir(const string & dir);
-void copyFile(const string & source, const string & dest);
-void copyFiles(const string & sourceFolder, const string & destFolder, const vector<string> & files);
-void protectFiles(const string & folder, const vector<string> & files);
-void protectDir(const string & dir);
-void linkDirs(const string & sourceFolder, const string & destFolder, const vector<string> & dirs);
-vector<string> get_files_in_dir(const string & dir, bool concatdir = true);
-bool is_symlink(const string & file);
-string get_symlink_target(const string & symlink);
-
-// STRING REPLACEMENT
-bool   replaceFirst(string & str, const string & toreplace, const string & with);
-size_t replaceAll  (string & str, const string & toreplace, const string & with);
-size_t replaceAllInternal(string & str, const string & toreplace, const string & with);
-size_t findNthLast(const string & str, char c, size_t n);
-vector<string> tokenize(const string & str, char delim);
-vector<string> tokenize(const string & str, const string & delims);
-
-
-// IO OPERATIONS
-string read_string_from_FILE(FILE * file, size_t max_length = -1);
-void write_string_to_FILE(FILE * file, const char * str);
-ssize_t writeBytesToFile(signed int fileDescriptor, const char * buffer, unsigned int bufferLength);
-ssize_t writen(int fd, const void *vptr, size_t n);
-ssize_t write(int fd, const string & str);
-ssize_t write(int fd, int  val);
-ssize_t write(int fd, long val);
-ssize_t readn(int fd, void *vptr, size_t n);
-ssize_t read(int fd, int  & val);
-ssize_t read(int fd, long & val);
-
-
-// STRING TYPE OPERATIONS
-uint32_t intlen(uint32_t a);
-void makeLower(string & str);
-string toLower(const string & str);
-
-// String concatenation
-template <typename T>
-string to_string(const T & value);
-template <typename T>
-T from_string(const string & s);
-template <typename T, typename F>
-T lexical_cast(const F & from);
-string operator+(const string & lhs, const string & rhs); // These 5 functions are to disambiguate
-string operator+(const string & lhs, const char * rhs);        // operator+ so that the following
-string operator+(const string & lhs, char rhs);                // templates may exist
-string operator+(const char * lhs, const string & rhs);
-string operator+(char lhs, const string & rhs);
-template <typename T>
-string & operator+=(string & str, const T & value);
-template <typename T>
-string operator+(const string & str, const T & value);
-
-
-// CLOCK / TIMING
-uint64_t process_clock();
-uint64_t system_clock();
-
-// CONFIGURATION
-void readConfig(const string & testsFolder, FileMap & map, const string & discriminator = "");
-void readFile(const string & file, vector<string> & lines);
-string readFile(const string & filename);
-void readFileGeneric(const string & file, FileMap * map, vector<string> * lines, const string & discriminator = "");
-char * processOptions(int argc, char ** argv, OptionsMap & opts, vector<string> & args);
-
-
-// AUTOGRADER
-
-
-// STUDENT CODE COMPILATION FUNCTIONS
-void rename_main(const string & file, const string & newname);
-
-
-// MACROS
-void SET_ERROR_MESSAGE(const char * message);
-
-#define STRINGIFY1(p)   #p
-#define STR(p)          STRINGIFY1(p)
-
-namespace internal
-{
-template<typename StrType>
-void exit_if_error_output(const char * file, int32_t line, StrType message);
-}
-
-#define EXIT_IF_ERROR2(statement_check, message)                       \
-	do {                                                               \
-		errno = 0;                                                     \
-		if ((statement_check) || errno != 0)                                         \
-			util::internal::exit_if_error_output(__FILE__, __LINE__, message); \
-	} while (0)
-
-#define EXIT_IF_ERROR1(statement_check)                                \
-	EXIT_IF_ERROR2(statement_check, #statement_check)
-
-// Crazy hack for overloading!
-// Arg counting from:
-// http://cplusplus.co.il/2010/07/17/variadic-macro-to-count-number-of-arguments/
-// Overloading tips:
-// http://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros
-#define EXIT_IF_ERROR_THIRD_ARG(a, b, c, ...) c
-
-#define EXIT_IF_ERROR(...)                                    \
-	EXIT_IF_ERROR_THIRD_ARG(__VA_ARGS__,                      \
-	                        EXIT_IF_ERROR2,                   \
-							EXIT_IF_ERROR1, 0) (__VA_ARGS__)
-
-// Colorization
-namespace colorize
-{
-	extern const char * BLACK;
-	extern const char * GREEN;
-	extern const char * RED;
-
-	extern const bool is_color_enabled;
-
-	inline string make_color(const char * color, const string & str)
-	{
-		return (is_color_enabled ? color + str + BLACK : str);
-	}
-} // namespace colorize
-
-
-// INLINE IMPLEMENTATIONS
-// Originally by radu
-// http://notfaq.wordpress.com/2006/08/30/c-convert-int-to-string/
-template <typename T>
-inline string to_string(const T & value)
-{
-	stringstream ss;
-	ss << value;
-	return ss.str();
-}
-
-// http://stackoverflow.com/questions/5017001/like-atoi-but-to-float
-template <typename T>
-inline T from_string(const string & s)
-{
-	stringstream ss(s);
-	T value;
-	ss >> value;
-	return value;
-}
-
-template <typename T, typename F>
-inline T lexical_cast(const F & from)
-{
-	Initializer<T> to;
-	stringstream ss;
-	if (!(ss << from))
-	{
-		cerr << "ERROR: Could not convert types" << endl;
-		return to.value;
-	}
-	if (!(ss >> to.value))
-	{
-		cerr << "ERROR: Could not convert types" << endl;
-		return to.value;
-	}
-	return to.value; // TODO (toole1): Not sure if this forces a copy
-}
-
-inline uint32_t intlen(uint32_t a)
-{
-	uint32_t len = 1;
-	a /= 10;
-
-	while (a != 0)
-	{
-		a = a/10;
-		len++;
-	}
-	return len;
-}
-
-inline ssize_t write(int fd, const string & str)
-{
-	return writen(fd, str.c_str(), str.length()+1);
-}
-
-inline ssize_t write(int fd, int val)
-{
-	return writen(fd, &val, sizeof val);
-}
-
-inline ssize_t write(int fd, long val)
-{
-	return writen(fd, &val, sizeof val);
-}
-
-inline ssize_t read(int fd, int & val)
-{
-	return readn(fd, &val, sizeof val);
-}
-
-inline ssize_t read(int fd, long & val)
-{
-	return readn(fd, &val, sizeof val);
-}
-
-template <typename T, typename C, typename BinaryOp>
-T accumulate(const C & collect, BinaryOp op, T init)
-{
-	typename C::const_iterator it = collect.begin();
-	typename C::const_iterator end = collect.end();
-	while (it != end)
-		init = init + *it++;
-	return init;
-}
-
-inline string operator+(const string & lhs, const string & rhs)      { return std::operator+(lhs, rhs); }
-inline string operator+(const string & lhs, const char * rhs)        { return std::operator+(lhs, rhs); }
-inline string operator+(const string & lhs, char rhs)                { return std::operator+(lhs, rhs); }
-inline string operator+(char lhs, const string & rhs)                { return std::operator+(lhs, rhs); }
-inline string operator+(const char * lhs, const string & rhs)        { return std::operator+(lhs, rhs); }
-
-template <typename T>
-inline std::string & operator+=(std::string & str, const T & value)
-{
-	str += util::to_string(value);
-	return str;
-}
-
-template <typename T>
-inline std::string operator+(const std::string & str, const T & value)
-{
-	std::stringstream ss;
-	ss << str << value;
-	return ss.str();
-}
-
-inline uint64_t process_clock()
-{
-#ifdef CLOCK_PROCESS_CPUTIME_ID
-	timespec ts;
-	clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
-	return ts.tv_sec * 1000000 + (ts.tv_nsec + 500) / 1000;
-#else
-	return clock();
-#endif
-}
-
-inline uint64_t system_clock()
-{
-	timeval tv;
-	gettimeofday(&tv, NULL);
-	return tv.tv_sec * 1000000 + tv.tv_usec;
-}
-
-} // namespace util
-
-#endif // UTIL_H
diff --git a/valgrind.h b/valgrind.h
deleted file mode 100644
index 3e66a95..0000000
--- a/valgrind.h
+++ /dev/null
@@ -1,4792 +0,0 @@
-/* -*- c -*-
-   ----------------------------------------------------------------
-
-   Notice that the following BSD-style license applies to this one
-   file (valgrind.h) only.  The rest of Valgrind is licensed under the
-   terms of the GNU General Public License, version 2, unless
-   otherwise indicated.  See the COPYING file in the source
-   distribution for details.
-
-   ----------------------------------------------------------------
-
-   This file is part of Valgrind, a dynamic binary instrumentation
-   framework.
-
-   Copyright (C) 2000-2010 Julian Seward.  All rights reserved.
-
-   redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-
-   1. redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-   2. The origin of this software must not be misrepresented; you must 
-      not claim that you wrote the original software.  If you use this 
-      software in a product, an acknowledgment in the product 
-      documentation would be appreciated but is not required.
-
-   3. Altered source versions must be plainly marked as such, and must
-      not be misrepresented as being the original software.
-
-   4. The name of the author may not be used to endorse or promote 
-      products derived from this software without specific prior written 
-      permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-   ----------------------------------------------------------------
-
-   Notice that the above BSD-style license applies to this one file
-   (valgrind.h) only.  The entire rest of Valgrind is licensed under
-   the terms of the GNU General Public License, version 2.  See the
-   COPYING file in the source distribution for details.
-
-   ---------------------------------------------------------------- 
-*/
-
-
-/* This file is for inclusion into client (your!) code.
-
-   You can use these macros to manipulate and query Valgrind's 
-   execution inside your own programs.
-
-   The resulting executables will still run without Valgrind, just a
-   little bit more slowly than they otherwise would, but otherwise
-   unchanged.  When not running on valgrind, each client request
-   consumes very few (eg. 7) instructions, so the resulting performance
-   loss is negligible unless you plan to execute client requests
-   millions of times per second.  Nevertheless, if that is still a
-   problem, you can compile with the NVALGRIND symbol defined (gcc
-   -DNVALGRIND) so that client requests are not even compiled in.  */
-
-#ifndef __VALGRIND_H
-#define __VALGRIND_H
-
-
-/* ------------------------------------------------------------------ */
-/* VERSION NUMBER OF VALGRIND                                         */
-/* ------------------------------------------------------------------ */
-
-/* Specify Valgrind's version number, so that user code can
-   conditionally compile based on our version number.  Note that these
-   were introduced at version 3.6 and so do not exist in version 3.5
-   or earlier.  The recommended way to use them to check for "version
-   X.Y or later" is (eg)
-
-#if defined(__VALGRIND_MAJOR__) && defined(__VALGRIND_MINOR__)   \
-    && (__VALGRIND_MAJOR__ > 3                                   \
-        || (__VALGRIND_MAJOR__ == 3 && __VALGRIND_MINOR__ >= 6))
-*/
-#define __VALGRIND_MAJOR__    3
-#define __VALGRIND_MINOR__    6
-
-
-#include <stdarg.h>
-
-/* Nb: this file might be included in a file compiled with -ansi.  So
-   we can't use C++ style "//" comments nor the "asm" keyword (instead
-   use "__asm__"). */
-
-/* Derive some tags indicating what the target platform is.  Note
-   that in this file we're using the compiler's CPP symbols for
-   identifying architectures, which are different to the ones we use
-   within the rest of Valgrind.  Note, __powerpc__ is active for both
-   32 and 64-bit PPC, whereas __powerpc64__ is only active for the
-   latter (on Linux, that is).
-
-   Misc note: how to find out what's predefined in gcc by default:
-   gcc -Wp,-dM somefile.c
-*/
-#undef PLAT_ppc64_aix5
-#undef PLAT_ppc32_aix5
-#undef PLAT_x86_darwin
-#undef PLAT_amd64_darwin
-#undef PLAT_x86_win32
-#undef PLAT_x86_linux
-#undef PLAT_amd64_linux
-#undef PLAT_ppc32_linux
-#undef PLAT_ppc64_linux
-#undef PLAT_arm_linux
-
-#if defined(_AIX) && defined(__64BIT__)
-#  define PLAT_ppc64_aix5 1
-#elif defined(_AIX) && !defined(__64BIT__)
-#  define PLAT_ppc32_aix5 1
-#elif defined(__APPLE__) && defined(__i386__)
-#  define PLAT_x86_darwin 1
-#elif defined(__APPLE__) && defined(__x86_64__)
-#  define PLAT_amd64_darwin 1
-#elif defined(__MINGW32__) || defined(__CYGWIN32__) || defined(_WIN32) && defined(_M_IX86)
-#  define PLAT_x86_win32 1
-#elif defined(__linux__) && defined(__i386__)
-#  define PLAT_x86_linux 1
-#elif defined(__linux__) && defined(__x86_64__)
-#  define PLAT_amd64_linux 1
-#elif defined(__linux__) && defined(__powerpc__) && !defined(__powerpc64__)
-#  define PLAT_ppc32_linux 1
-#elif defined(__linux__) && defined(__powerpc__) && defined(__powerpc64__)
-#  define PLAT_ppc64_linux 1
-#elif defined(__linux__) && defined(__arm__)
-#  define PLAT_arm_linux 1
-#else
-/* If we're not compiling for our target platform, don't generate
-   any inline asms.  */
-#  if !defined(NVALGRIND)
-#    define NVALGRIND 1
-#  endif
-#endif
-
-
-/* ------------------------------------------------------------------ */
-/* ARCHITECTURE SPECIFICS for SPECIAL INSTRUCTIONS.  There is nothing */
-/* in here of use to end-users -- skip to the next section.           */
-/* ------------------------------------------------------------------ */
-
-#if defined(NVALGRIND)
-
-/* Define NVALGRIND to completely remove the Valgrind magic sequence
-   from the compiled code (analogous to NDEBUG's effects on
-   assert()) */
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-   {                                                              \
-      (_zzq_rlval) = (_zzq_default);                              \
-   }
-
-#else  /* ! NVALGRIND */
-
-/* The following defines the magic code sequences which the JITter
-   spots and handles magically.  Don't look too closely at them as
-   they will rot your brain.
-
-   The assembly code sequences for all architectures is in this one
-   file.  This is because this file must be stand-alone, and we don't
-   want to have multiple files.
-
-   For VALGRIND_DO_CLIENT_REQUEST, we must ensure that the default
-   value gets put in the return slot, so that everything works when
-   this is executed not under Valgrind.  Args are passed in a memory
-   block, and so there's no intrinsic limit to the number that could
-   be passed, but it's currently five.
-   
-   The macro args are: 
-      _zzq_rlval    result lvalue
-      _zzq_default  default value (result returned when running on real CPU)
-      _zzq_request  request code
-      _zzq_arg1..5  request params
-
-   The other two macros are used to support function wrapping, and are
-   a lot simpler.  VALGRIND_GET_NR_CONTEXT returns the value of the
-   guest's NRADDR pseudo-register and whatever other information is
-   needed to safely run the call original from the wrapper: on
-   ppc64-linux, the R2 value at the divert point is also needed.  This
-   information is abstracted into a user-visible type, OrigFn.
-
-   VALGRIND_CALL_NOREDIR_* behaves the same as the following on the
-   guest, but guarantees that the branch instruction will not be
-   redirected: x86: call *%eax, amd64: call *%rax, ppc32/ppc64:
-   branch-and-link-to-r11.  VALGRIND_CALL_NOREDIR is just text, not a
-   complete inline asm, since it needs to be combined with more magic
-   inline asm stuff to be useful.
-*/
-
-/* ------------------------- x86-{linux,darwin} ---------------- */
-
-#if defined(PLAT_x86_linux)  ||  defined(PLAT_x86_darwin)  \
-    ||  (defined(PLAT_x86_win32) && defined(__GNUC__))
-
-typedef
-   struct { 
-      unsigned int nraddr; /* where's the code? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "roll $3,  %%edi ; roll $13, %%edi\n\t"      \
-                     "roll $29, %%edi ; roll $19, %%edi\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-  { volatile unsigned int _zzq_args[6];                           \
-    volatile unsigned int _zzq_result;                            \
-    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
-    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
-    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
-    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
-    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
-    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %EDX = client_request ( %EAX ) */         \
-                     "xchgl %%ebx,%%ebx"                          \
-                     : "=d" (_zzq_result)                         \
-                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    volatile unsigned int __addr;                                 \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %EAX = guest_NRADDR */                    \
-                     "xchgl %%ecx,%%ecx"                          \
-                     : "=a" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-  }
-
-#define VALGRIND_CALL_NOREDIR_EAX                                 \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* call-noredir *%EAX */                     \
-                     "xchgl %%edx,%%edx\n\t"
-#endif /* PLAT_x86_linux || PLAT_x86_darwin || (PLAT_x86_win32 && __GNUC__) */
-
-/* ------------------------- x86-Win32 ------------------------- */
-
-#if defined(PLAT_x86_win32) && !defined(__GNUC__)
-
-typedef
-   struct { 
-      unsigned int nraddr; /* where's the code? */
-   }
-   OrigFn;
-
-#if defined(_MSC_VER)
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     __asm rol edi, 3  __asm rol edi, 13          \
-                     __asm rol edi, 29 __asm rol edi, 19
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-  { volatile uintptr_t _zzq_args[6];                              \
-    volatile unsigned int _zzq_result;                            \
-    _zzq_args[0] = (uintptr_t)(_zzq_request);                     \
-    _zzq_args[1] = (uintptr_t)(_zzq_arg1);                        \
-    _zzq_args[2] = (uintptr_t)(_zzq_arg2);                        \
-    _zzq_args[3] = (uintptr_t)(_zzq_arg3);                        \
-    _zzq_args[4] = (uintptr_t)(_zzq_arg4);                        \
-    _zzq_args[5] = (uintptr_t)(_zzq_arg5);                        \
-    __asm { __asm lea eax, _zzq_args __asm mov edx, _zzq_default  \
-            __SPECIAL_INSTRUCTION_PREAMBLE                        \
-            /* %EDX = client_request ( %EAX ) */                  \
-            __asm xchg ebx,ebx                                    \
-            __asm mov _zzq_result, edx                            \
-    }                                                             \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    volatile unsigned int __addr;                                 \
-    __asm { __SPECIAL_INSTRUCTION_PREAMBLE                        \
-            /* %EAX = guest_NRADDR */                             \
-            __asm xchg ecx,ecx                                    \
-            __asm mov __addr, eax                                 \
-    }                                                             \
-    _zzq_orig->nraddr = __addr;                                   \
-  }
-
-#define VALGRIND_CALL_NOREDIR_EAX ERROR
-
-#else
-#error Unsupported compiler.
-#endif
-
-#endif /* PLAT_x86_win32 */
-
-/* ------------------------ amd64-{linux,darwin} --------------- */
-
-#if defined(PLAT_amd64_linux)  ||  defined(PLAT_amd64_darwin)
-
-typedef
-   struct { 
-      unsigned long long int nraddr; /* where's the code? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "rolq $3,  %%rdi ; rolq $13, %%rdi\n\t"      \
-                     "rolq $61, %%rdi ; rolq $51, %%rdi\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-  { volatile unsigned long long int _zzq_args[6];                 \
-    volatile unsigned long long int _zzq_result;                  \
-    _zzq_args[0] = (unsigned long long int)(_zzq_request);        \
-    _zzq_args[1] = (unsigned long long int)(_zzq_arg1);           \
-    _zzq_args[2] = (unsigned long long int)(_zzq_arg2);           \
-    _zzq_args[3] = (unsigned long long int)(_zzq_arg3);           \
-    _zzq_args[4] = (unsigned long long int)(_zzq_arg4);           \
-    _zzq_args[5] = (unsigned long long int)(_zzq_arg5);           \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %RDX = client_request ( %RAX ) */         \
-                     "xchgq %%rbx,%%rbx"                          \
-                     : "=d" (_zzq_result)                         \
-                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    volatile unsigned long long int __addr;                       \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %RAX = guest_NRADDR */                    \
-                     "xchgq %%rcx,%%rcx"                          \
-                     : "=a" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-  }
-
-#define VALGRIND_CALL_NOREDIR_RAX                                 \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* call-noredir *%RAX */                     \
-                     "xchgq %%rdx,%%rdx\n\t"
-#endif /* PLAT_amd64_linux || PLAT_amd64_darwin */
-
-/* ------------------------ ppc32-linux ------------------------ */
-
-#if defined(PLAT_ppc32_linux)
-
-typedef
-   struct { 
-      unsigned int nraddr; /* where's the code? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "rlwinm 0,0,3,0,0  ; rlwinm 0,0,13,0,0\n\t"  \
-                     "rlwinm 0,0,29,0,0 ; rlwinm 0,0,19,0,0\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-                                                                  \
-  {          unsigned int  _zzq_args[6];                          \
-             unsigned int  _zzq_result;                           \
-             unsigned int* _zzq_ptr;                              \
-    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
-    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
-    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
-    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
-    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
-    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
-    _zzq_ptr = _zzq_args;                                         \
-    __asm__ volatile("mr 3,%1\n\t" /*default*/                    \
-                     "mr 4,%2\n\t" /*ptr*/                        \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = client_request ( %R4 ) */           \
-                     "or 1,1,1\n\t"                               \
-                     "mr %0,3"     /*result*/                     \
-                     : "=b" (_zzq_result)                         \
-                     : "b" (_zzq_default), "b" (_zzq_ptr)         \
-                     : "cc", "memory", "r3", "r4");               \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    unsigned int __addr;                                          \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR */                     \
-                     "or 2,2,2\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory", "r3"                       \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-  }
-
-#define VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                   \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* branch-and-link-to-noredir *%R11 */       \
-                     "or 3,3,3\n\t"
-#endif /* PLAT_ppc32_linux */
-
-/* ------------------------ ppc64-linux ------------------------ */
-
-#if defined(PLAT_ppc64_linux)
-
-typedef
-   struct { 
-      unsigned long long int nraddr; /* where's the code? */
-      unsigned long long int r2;  /* what tocptr do we need? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "rotldi 0,0,3  ; rotldi 0,0,13\n\t"          \
-                     "rotldi 0,0,61 ; rotldi 0,0,51\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-                                                                  \
-  {          unsigned long long int  _zzq_args[6];                \
-    register unsigned long long int  _zzq_result __asm__("r3");   \
-    register unsigned long long int* _zzq_ptr __asm__("r4");      \
-    _zzq_args[0] = (unsigned long long int)(_zzq_request);        \
-    _zzq_args[1] = (unsigned long long int)(_zzq_arg1);           \
-    _zzq_args[2] = (unsigned long long int)(_zzq_arg2);           \
-    _zzq_args[3] = (unsigned long long int)(_zzq_arg3);           \
-    _zzq_args[4] = (unsigned long long int)(_zzq_arg4);           \
-    _zzq_args[5] = (unsigned long long int)(_zzq_arg5);           \
-    _zzq_ptr = _zzq_args;                                         \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = client_request ( %R4 ) */           \
-                     "or 1,1,1"                                   \
-                     : "=r" (_zzq_result)                         \
-                     : "0" (_zzq_default), "r" (_zzq_ptr)         \
-                     : "cc", "memory");                           \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    register unsigned long long int __addr __asm__("r3");         \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR */                     \
-                     "or 2,2,2"                                   \
-                     : "=r" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR_GPR2 */                \
-                     "or 4,4,4"                                   \
-                     : "=r" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory"                             \
-                    );                                            \
-    _zzq_orig->r2 = __addr;                                       \
-  }
-
-#define VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                   \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* branch-and-link-to-noredir *%R11 */       \
-                     "or 3,3,3\n\t"
-
-#endif /* PLAT_ppc64_linux */
-
-/* ------------------------- arm-linux ------------------------- */
-
-#if defined(PLAT_arm_linux)
-
-typedef
-   struct { 
-      unsigned int nraddr; /* where's the code? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-            "mov r12, r12, ror #3  ; mov r12, r12, ror #13 \n\t"  \
-            "mov r12, r12, ror #29 ; mov r12, r12, ror #19 \n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-                                                                  \
-  { volatile unsigned int  _zzq_args[6];                          \
-    volatile unsigned int  _zzq_result;                           \
-    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
-    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
-    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
-    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
-    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
-    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
-    __asm__ volatile("mov r3, %1\n\t" /*default*/                 \
-                     "mov r4, %2\n\t" /*ptr*/                     \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* R3 = client_request ( R4 ) */             \
-                     "orr r10, r10, r10\n\t"                      \
-                     "mov %0, r3"     /*result*/                  \
-                     : "=r" (_zzq_result)                         \
-                     : "r" (_zzq_default), "r" (&_zzq_args[0])    \
-                     : "cc","memory", "r3", "r4");                \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    unsigned int __addr;                                          \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* R3 = guest_NRADDR */                      \
-                     "orr r11, r11, r11\n\t"                      \
-                     "mov %0, r3"                                 \
-                     : "=r" (__addr)                              \
-                     :                                            \
-                     : "cc", "memory", "r3"                       \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-  }
-
-#define VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                    \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* branch-and-link-to-noredir *%R4 */        \
-                     "orr r12, r12, r12\n\t"
-
-#endif /* PLAT_arm_linux */
-
-/* ------------------------ ppc32-aix5 ------------------------- */
-
-#if defined(PLAT_ppc32_aix5)
-
-typedef
-   struct { 
-      unsigned int nraddr; /* where's the code? */
-      unsigned int r2;  /* what tocptr do we need? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "rlwinm 0,0,3,0,0  ; rlwinm 0,0,13,0,0\n\t"  \
-                     "rlwinm 0,0,29,0,0 ; rlwinm 0,0,19,0,0\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-                                                                  \
-  {          unsigned int  _zzq_args[7];                          \
-    register unsigned int  _zzq_result;                           \
-    register unsigned int* _zzq_ptr;                              \
-    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
-    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
-    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
-    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
-    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
-    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
-    _zzq_args[6] = (unsigned int)(_zzq_default);                  \
-    _zzq_ptr = _zzq_args;                                         \
-    __asm__ volatile("mr 4,%1\n\t"                                \
-                     "lwz 3, 24(4)\n\t"                           \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = client_request ( %R4 ) */           \
-                     "or 1,1,1\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (_zzq_result)                         \
-                     : "b" (_zzq_ptr)                             \
-                     : "r3", "r4", "cc", "memory");               \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    register unsigned int __addr;                                 \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR */                     \
-                     "or 2,2,2\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (__addr)                              \
-                     :                                            \
-                     : "r3", "cc", "memory"                       \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR_GPR2 */                \
-                     "or 4,4,4\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (__addr)                              \
-                     :                                            \
-                     : "r3", "cc", "memory"                       \
-                    );                                            \
-    _zzq_orig->r2 = __addr;                                       \
-  }
-
-#define VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                   \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* branch-and-link-to-noredir *%R11 */       \
-                     "or 3,3,3\n\t"
-
-#endif /* PLAT_ppc32_aix5 */
-
-/* ------------------------ ppc64-aix5 ------------------------- */
-
-#if defined(PLAT_ppc64_aix5)
-
-typedef
-   struct { 
-      unsigned long long int nraddr; /* where's the code? */
-      unsigned long long int r2;  /* what tocptr do we need? */
-   }
-   OrigFn;
-
-#define __SPECIAL_INSTRUCTION_PREAMBLE                            \
-                     "rotldi 0,0,3  ; rotldi 0,0,13\n\t"          \
-                     "rotldi 0,0,61 ; rotldi 0,0,51\n\t"
-
-#define VALGRIND_DO_CLIENT_REQUEST(                               \
-        _zzq_rlval, _zzq_default, _zzq_request,                   \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    \
-                                                                  \
-  {          unsigned long long int  _zzq_args[7];                \
-    register unsigned long long int  _zzq_result;                 \
-    register unsigned long long int* _zzq_ptr;                    \
-    _zzq_args[0] = (unsigned int long long)(_zzq_request);        \
-    _zzq_args[1] = (unsigned int long long)(_zzq_arg1);           \
-    _zzq_args[2] = (unsigned int long long)(_zzq_arg2);           \
-    _zzq_args[3] = (unsigned int long long)(_zzq_arg3);           \
-    _zzq_args[4] = (unsigned int long long)(_zzq_arg4);           \
-    _zzq_args[5] = (unsigned int long long)(_zzq_arg5);           \
-    _zzq_args[6] = (unsigned int long long)(_zzq_default);        \
-    _zzq_ptr = _zzq_args;                                         \
-    __asm__ volatile("mr 4,%1\n\t"                                \
-                     "ld 3, 48(4)\n\t"                            \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = client_request ( %R4 ) */           \
-                     "or 1,1,1\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (_zzq_result)                         \
-                     : "b" (_zzq_ptr)                             \
-                     : "r3", "r4", "cc", "memory");               \
-    _zzq_rlval = _zzq_result;                                     \
-  }
-
-#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
-  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
-    register unsigned long long int __addr;                       \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR */                     \
-                     "or 2,2,2\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (__addr)                              \
-                     :                                            \
-                     : "r3", "cc", "memory"                       \
-                    );                                            \
-    _zzq_orig->nraddr = __addr;                                   \
-    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* %R3 = guest_NRADDR_GPR2 */                \
-                     "or 4,4,4\n\t"                               \
-                     "mr %0,3"                                    \
-                     : "=b" (__addr)                              \
-                     :                                            \
-                     : "r3", "cc", "memory"                       \
-                    );                                            \
-    _zzq_orig->r2 = __addr;                                       \
-  }
-
-#define VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                   \
-                     __SPECIAL_INSTRUCTION_PREAMBLE               \
-                     /* branch-and-link-to-noredir *%R11 */       \
-                     "or 3,3,3\n\t"
-
-#endif /* PLAT_ppc64_aix5 */
-
-/* Insert assembly code for other platforms here... */
-
-#endif /* NVALGRIND */
-
-
-/* ------------------------------------------------------------------ */
-/* PLATFORM SPECIFICS for FUNCTION WRAPPING.  This is all very        */
-/* ugly.  It's the least-worst tradeoff I can think of.               */
-/* ------------------------------------------------------------------ */
-
-/* This section defines magic (a.k.a appalling-hack) macros for doing
-   guaranteed-no-redirection macros, so as to get from function
-   wrappers to the functions they are wrapping.  The whole point is to
-   construct standard call sequences, but to do the call itself with a
-   special no-redirect call pseudo-instruction that the JIT
-   understands and handles specially.  This section is long and
-   repetitious, and I can't see a way to make it shorter.
-
-   The naming scheme is as follows:
-
-      CALL_FN_{W,v}_{v,W,WW,WWW,WWWW,5W,6W,7W,etc}
-
-   'W' stands for "word" and 'v' for "void".  Hence there are
-   different macros for calling arity 0, 1, 2, 3, 4, etc, functions,
-   and for each, the possibility of returning a word-typed result, or
-   no result.
-*/
-
-/* Use these to write the name of your wrapper.  NOTE: duplicates
-   VG_WRAP_FUNCTION_Z{U,Z} in pub_tool_redir.h. */
-
-/* Use an extra level of macroisation so as to ensure the soname/fnname
-   args are fully macro-expanded before pasting them together. */
-#define VG_CONCAT4(_aa,_bb,_cc,_dd) _aa##_bb##_cc##_dd
-
-#define I_WRAP_SONAME_FNNAME_ZU(soname,fnname)                    \
-   VG_CONCAT4(_vgwZU_,soname,_,fnname)
-
-#define I_WRAP_SONAME_FNNAME_ZZ(soname,fnname)                    \
-   VG_CONCAT4(_vgwZZ_,soname,_,fnname)
-
-/* Use this macro from within a wrapper function to collect the
-   context (address and possibly other info) of the original function.
-   Once you have that you can then use it in one of the CALL_FN_
-   macros.  The type of the argument _lval is OrigFn. */
-#define VALGRIND_GET_ORIG_FN(_lval)  VALGRIND_GET_NR_CONTEXT(_lval)
-
-/* Derivatives of the main macros below, for calling functions
-   returning void. */
-
-#define CALL_FN_v_v(fnptr)                                        \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_v(_junk,fnptr); } while (0)
-
-#define CALL_FN_v_W(fnptr, arg1)                                  \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_W(_junk,fnptr,arg1); } while (0)
-
-#define CALL_FN_v_WW(fnptr, arg1,arg2)                            \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_WW(_junk,fnptr,arg1,arg2); } while (0)
-
-#define CALL_FN_v_WWW(fnptr, arg1,arg2,arg3)                      \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_WWW(_junk,fnptr,arg1,arg2,arg3); } while (0)
-
-#define CALL_FN_v_WWWW(fnptr, arg1,arg2,arg3,arg4)                \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_WWWW(_junk,fnptr,arg1,arg2,arg3,arg4); } while (0)
-
-#define CALL_FN_v_5W(fnptr, arg1,arg2,arg3,arg4,arg5)             \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_5W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5); } while (0)
-
-#define CALL_FN_v_6W(fnptr, arg1,arg2,arg3,arg4,arg5,arg6)        \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_6W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6); } while (0)
-
-#define CALL_FN_v_7W(fnptr, arg1,arg2,arg3,arg4,arg5,arg6,arg7)   \
-   do { volatile unsigned long _junk;                             \
-        CALL_FN_W_7W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6,arg7); } while (0)
-
-/* ------------------------- x86-{linux,darwin} ---------------- */
-
-#if defined(PLAT_x86_linux)  ||  defined(PLAT_x86_darwin)
-
-/* These regs are trashed by the hidden call.  No need to mention eax
-   as gcc can already see that, plus causes gcc to bomb. */
-#define __CALLER_SAVED_REGS /*"eax"*/ "ecx", "edx"
-
-/* These CALL_FN_ macros assume that on x86-linux, sizeof(unsigned
-   long) == 4. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[1];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[2];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      __asm__ volatile(                                           \
-         "subl $12, %%esp\n\t"                                    \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      __asm__ volatile(                                           \
-         "subl $8, %%esp\n\t"                                     \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[4];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      __asm__ volatile(                                           \
-         "subl $4, %%esp\n\t"                                     \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[5];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      __asm__ volatile(                                           \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[6];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      __asm__ volatile(                                           \
-         "subl $12, %%esp\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[7];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      __asm__ volatile(                                           \
-         "subl $8, %%esp\n\t"                                     \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[8];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      __asm__ volatile(                                           \
-         "subl $4, %%esp\n\t"                                     \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[9];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      __asm__ volatile(                                           \
-         "pushl 32(%%eax)\n\t"                                    \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[10];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      __asm__ volatile(                                           \
-         "subl $12, %%esp\n\t"                                    \
-         "pushl 36(%%eax)\n\t"                                    \
-         "pushl 32(%%eax)\n\t"                                    \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[11];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      __asm__ volatile(                                           \
-         "subl $8, %%esp\n\t"                                     \
-         "pushl 40(%%eax)\n\t"                                    \
-         "pushl 36(%%eax)\n\t"                                    \
-         "pushl 32(%%eax)\n\t"                                    \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
-                                  arg6,arg7,arg8,arg9,arg10,      \
-                                  arg11)                          \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[12];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      __asm__ volatile(                                           \
-         "subl $4, %%esp\n\t"                                     \
-         "pushl 44(%%eax)\n\t"                                    \
-         "pushl 40(%%eax)\n\t"                                    \
-         "pushl 36(%%eax)\n\t"                                    \
-         "pushl 32(%%eax)\n\t"                                    \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
-                                  arg6,arg7,arg8,arg9,arg10,      \
-                                  arg11,arg12)                    \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[13];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      _argvec[12] = (unsigned long)(arg12);                       \
-      __asm__ volatile(                                           \
-         "pushl 48(%%eax)\n\t"                                    \
-         "pushl 44(%%eax)\n\t"                                    \
-         "pushl 40(%%eax)\n\t"                                    \
-         "pushl 36(%%eax)\n\t"                                    \
-         "pushl 32(%%eax)\n\t"                                    \
-         "pushl 28(%%eax)\n\t"                                    \
-         "pushl 24(%%eax)\n\t"                                    \
-         "pushl 20(%%eax)\n\t"                                    \
-         "pushl 16(%%eax)\n\t"                                    \
-         "pushl 12(%%eax)\n\t"                                    \
-         "pushl 8(%%eax)\n\t"                                     \
-         "pushl 4(%%eax)\n\t"                                     \
-         "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
-         VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_x86_linux || PLAT_x86_darwin */
-
-/* ------------------------ amd64-{linux,darwin} --------------- */
-
-#if defined(PLAT_amd64_linux)  ||  defined(PLAT_amd64_darwin)
-
-/* ARGREGS: rdi rsi rdx rcx r8 r9 (the rest on stack in R-to-L order) */
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS /*"rax",*/ "rcx", "rdx", "rsi",       \
-                            "rdi", "r8", "r9", "r10", "r11"
-
-/* This is all pretty complex.  It's so as to make stack unwinding
-   work reliably.  See bug 243270.  The basic problem is the sub and
-   add of 128 of %rsp in all of the following macros.  If gcc believes
-   the CFA is in %rsp, then unwinding may fail, because what's at the
-   CFA is not what gcc "expected" when it constructs the CFIs for the
-   places where the macros are instantiated.
-
-   But we can't just add a CFI annotation to increase the CFA offset
-   by 128, to match the sub of 128 from %rsp, because we don't know
-   whether gcc has chosen %rsp as the CFA at that point, or whether it
-   has chosen some other register (eg, %rbp).  In the latter case,
-   adding a CFI annotation to change the CFA offset is simply wrong.
-
-   So the solution is to get hold of the CFA using
-   __builtin_dwarf_cfa(), put it in a known register, and add a
-   CFI annotation to say what the register is.  We choose %rbp for
-   this (perhaps perversely), because:
-
-   (1) %rbp is already subject to unwinding.  If a new register was
-       chosen then the unwinder would have to unwind it in all stack
-       traces, which is expensive, and
-
-   (2) %rbp is already subject to precise exception updates in the
-       JIT.  If a new register was chosen, we'd have to have precise
-       exceptions for it too, which reduces performance of the
-       generated code.
-
-   However .. one extra complication.  We can't just whack the result
-   of __builtin_dwarf_cfa() into %rbp and then add %rbp to the
-   list of trashed registers at the end of the inline assembly
-   fragments; gcc won't allow %rbp to appear in that list.  Hence
-   instead we need to stash %rbp in %r15 for the duration of the asm,
-   and say that %r15 is trashed instead.  gcc seems happy to go with
-   that.
-
-   Oh .. and this all needs to be conditionalised so that it is
-   unchanged from before this commit, when compiled with older gccs
-   that don't support __builtin_dwarf_cfa.  Furthermore, since
-   this header file is freestanding, it has to be independent of
-   config.h, and so the following conditionalisation cannot depend on
-   configure time checks.
-
-   Although it's not clear from
-   'defined(__GNUC__) && defined(__GCC_HAVE_DWARF2_CFI_ASM)',
-   this expression excludes Darwin.
-   .cfi directives in Darwin assembly appear to be completely
-   different and I haven't investigated how they work.
-
-   For even more entertainment value, note we have to use the
-   completely undocumented __builtin_dwarf_cfa(), which appears to
-   really compute the CFA, whereas __builtin_frame_address(0) claims
-   to but actually doesn't.  See
-   https://bugs.kde.org/show_bug.cgi?id=243270#c47
-*/
-#if defined(__GNUC__) && defined(__GCC_HAVE_DWARF2_CFI_ASM)
-#  define __FRAME_POINTER                                         \
-      ,"r"(__builtin_dwarf_cfa())
-#  define VALGRIND_CFI_PROLOGUE                                   \
-      "movq %%rbp, %%r15\n\t"                                     \
-      "movq %2, %%rbp\n\t"                                        \
-      ".cfi_remember_state\n\t"                                   \
-      ".cfi_def_cfa rbp, 0\n\t"
-#  define VALGRIND_CFI_EPILOGUE                                   \
-      "movq %%r15, %%rbp\n\t"                                     \
-      ".cfi_restore_state\n\t"
-#else
-#  define __FRAME_POINTER
-#  define VALGRIND_CFI_PROLOGUE
-#  define VALGRIND_CFI_EPILOGUE
-#endif
-
-
-/* These CALL_FN_ macros assume that on amd64-linux, sizeof(unsigned
-   long) == 8. */
-
-/* NB 9 Sept 07.  There is a nasty kludge here in all these CALL_FN_
-   macros.  In order not to trash the stack redzone, we need to drop
-   %rsp by 128 before the hidden call, and restore afterwards.  The
-   nastyness is that it is only by luck that the stack still appears
-   to be unwindable during the hidden call - since then the behaviour
-   of any routine using this macro does not match what the CFI data
-   says.  Sigh.
-
-   Why is this important?  Imagine that a wrapper has a stack
-   allocated local, and passes to the hidden call, a pointer to it.
-   Because gcc does not know about the hidden call, it may allocate
-   that local in the redzone.  Unfortunately the hidden call may then
-   trash it before it comes to use it.  So we must step clear of the
-   redzone, for the duration of the hidden call, to make it safe.
-
-   Probably the same problem afflicts the other redzone-style ABIs too
-   (ppc64-linux, ppc32-aix5, ppc64-aix5); but for those, the stack is
-   self describing (none of this CFI nonsense) so at least messing
-   with the stack pointer doesn't give a danger of non-unwindable
-   stack. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[1];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[2];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[4];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[5];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[6];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[7];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[8];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $8, %%rsp\n"                                       \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[9];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $16, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[10];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $24, %%rsp\n"                                      \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[11];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $32, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[12];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 88(%%rax)\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $40, %%rsp\n"                                      \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[13];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      _argvec[12] = (unsigned long)(arg12);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 96(%%rax)\n\t"                                    \
-         "pushq 88(%%rax)\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $48, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_amd64_linux || PLAT_amd64_darwin */
-
-/* ------------------------ ppc32-linux ------------------------ */
-
-#if defined(PLAT_ppc32_linux)
-
-/* This is useful for finding out about the on-stack stuff:
-
-   extern int f9  ( int,int,int,int,int,int,int,int,int );
-   extern int f10 ( int,int,int,int,int,int,int,int,int,int );
-   extern int f11 ( int,int,int,int,int,int,int,int,int,int,int );
-   extern int f12 ( int,int,int,int,int,int,int,int,int,int,int,int );
-
-   int g9 ( void ) {
-      return f9(11,22,33,44,55,66,77,88,99);
-   }
-   int g10 ( void ) {
-      return f10(11,22,33,44,55,66,77,88,99,110);
-   }
-   int g11 ( void ) {
-      return f11(11,22,33,44,55,66,77,88,99,110,121);
-   }
-   int g12 ( void ) {
-      return f12(11,22,33,44,55,66,77,88,99,110,121,132);
-   }
-*/
-
-/* ARGREGS: r3 r4 r5 r6 r7 r8 r9 r10 (the rest on stack somewhere) */
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS                                       \
-   "lr", "ctr", "xer",                                            \
-   "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",        \
-   "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
-   "r11", "r12", "r13"
-
-/* These CALL_FN_ macros assume that on ppc32-linux, 
-   sizeof(unsigned long) == 4. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[1];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[2];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[4];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[5];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[6];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[7];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[8];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[9];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      _argvec[8] = (unsigned long)arg8;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[10];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      _argvec[8] = (unsigned long)arg8;                           \
-      _argvec[9] = (unsigned long)arg9;                           \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "addi 1,1,-16\n\t"                                       \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,8(1)\n\t"                                         \
-         /* args1-8 */                                            \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,16\n\t"                                        \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[11];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      _argvec[8] = (unsigned long)arg8;                           \
-      _argvec[9] = (unsigned long)arg9;                           \
-      _argvec[10] = (unsigned long)arg10;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "addi 1,1,-16\n\t"                                       \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,12(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,8(1)\n\t"                                         \
-         /* args1-8 */                                            \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,16\n\t"                                        \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[12];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      _argvec[8] = (unsigned long)arg8;                           \
-      _argvec[9] = (unsigned long)arg9;                           \
-      _argvec[10] = (unsigned long)arg10;                         \
-      _argvec[11] = (unsigned long)arg11;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "addi 1,1,-32\n\t"                                       \
-         /* arg11 */                                              \
-         "lwz 3,44(11)\n\t"                                       \
-         "stw 3,16(1)\n\t"                                        \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,12(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,8(1)\n\t"                                         \
-         /* args1-8 */                                            \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,32\n\t"                                        \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[13];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)arg1;                           \
-      _argvec[2] = (unsigned long)arg2;                           \
-      _argvec[3] = (unsigned long)arg3;                           \
-      _argvec[4] = (unsigned long)arg4;                           \
-      _argvec[5] = (unsigned long)arg5;                           \
-      _argvec[6] = (unsigned long)arg6;                           \
-      _argvec[7] = (unsigned long)arg7;                           \
-      _argvec[8] = (unsigned long)arg8;                           \
-      _argvec[9] = (unsigned long)arg9;                           \
-      _argvec[10] = (unsigned long)arg10;                         \
-      _argvec[11] = (unsigned long)arg11;                         \
-      _argvec[12] = (unsigned long)arg12;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "addi 1,1,-32\n\t"                                       \
-         /* arg12 */                                              \
-         "lwz 3,48(11)\n\t"                                       \
-         "stw 3,20(1)\n\t"                                        \
-         /* arg11 */                                              \
-         "lwz 3,44(11)\n\t"                                       \
-         "stw 3,16(1)\n\t"                                        \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,12(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,8(1)\n\t"                                         \
-         /* args1-8 */                                            \
-         "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
-         "lwz 4,8(11)\n\t"                                        \
-         "lwz 5,12(11)\n\t"                                       \
-         "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
-         "lwz 7,20(11)\n\t"                                       \
-         "lwz 8,24(11)\n\t"                                       \
-         "lwz 9,28(11)\n\t"                                       \
-         "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
-         "lwz 11,0(11)\n\t"  /* target->r11 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,32\n\t"                                        \
-         "mr %0,3"                                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_ppc32_linux */
-
-/* ------------------------ ppc64-linux ------------------------ */
-
-#if defined(PLAT_ppc64_linux)
-
-/* ARGREGS: r3 r4 r5 r6 r7 r8 r9 r10 (the rest on stack somewhere) */
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS                                       \
-   "lr", "ctr", "xer",                                            \
-   "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",        \
-   "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
-   "r11", "r12", "r13"
-
-/* These CALL_FN_ macros assume that on ppc64-linux, sizeof(unsigned
-   long) == 8. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+0];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1] = (unsigned long)_orig.r2;                       \
-      _argvec[2] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+1];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+2];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+3];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+4];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+5];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+6];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+7];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+8];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+9];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "addi 1,1,-128\n\t"  /* expand stack frame */            \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,128"     /* restore frame */                   \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+10];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "addi 1,1,-128\n\t"  /* expand stack frame */            \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,128"     /* restore frame */                   \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+11];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "addi 1,1,-144\n\t"  /* expand stack frame */            \
-         /* arg11 */                                              \
-         "ld  3,88(11)\n\t"                                       \
-         "std 3,128(1)\n\t"                                       \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,144"     /* restore frame */                   \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+12];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      _argvec[2+12] = (unsigned long)arg12;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         "std 2,-16(11)\n\t"  /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "addi 1,1,-144\n\t"  /* expand stack frame */            \
-         /* arg12 */                                              \
-         "ld  3,96(11)\n\t"                                       \
-         "std 3,136(1)\n\t"                                       \
-         /* arg11 */                                              \
-         "ld  3,88(11)\n\t"                                       \
-         "std 3,128(1)\n\t"                                       \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,144"     /* restore frame */                   \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_ppc64_linux */
-
-/* ------------------------- arm-linux ------------------------- */
-
-#if defined(PLAT_arm_linux)
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS "r0", "r1", "r2", "r3","r4","r14"
-
-/* These CALL_FN_ macros assume that on arm-linux, sizeof(unsigned
-   long) == 4. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[1];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "mov %0, r0\n"                                           \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[2];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "mov %0, r0\n"                                           \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory",  __CALLER_SAVED_REGS         \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "mov %0, r0\n"                                           \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[4];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "mov %0, r0\n"                                           \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[5];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[6];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "push {r0} \n\t"                                         \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #4 \n\t"                                    \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[7];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "push {r0, r1} \n\t"                                     \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #8 \n\t"                                    \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[8];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "push {r0, r1, r2} \n\t"                                 \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #12 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[9];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "ldr r3, [%1, #32] \n\t"                                 \
-         "push {r0, r1, r2, r3} \n\t"                             \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #16 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[10];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "ldr r3, [%1, #32] \n\t"                                 \
-         "ldr r4, [%1, #36] \n\t"                                 \
-         "push {r0, r1, r2, r3, r4} \n\t"                         \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #20 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[11];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #40] \n\t"                                 \
-         "push {r0} \n\t"                                         \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "ldr r3, [%1, #32] \n\t"                                 \
-         "ldr r4, [%1, #36] \n\t"                                 \
-         "push {r0, r1, r2, r3, r4} \n\t"                         \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #24 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
-                                  arg6,arg7,arg8,arg9,arg10,      \
-                                  arg11)                          \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[12];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #40] \n\t"                                 \
-         "ldr r1, [%1, #44] \n\t"                                 \
-         "push {r0, r1} \n\t"                                     \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "ldr r3, [%1, #32] \n\t"                                 \
-         "ldr r4, [%1, #36] \n\t"                                 \
-         "push {r0, r1, r2, r3, r4} \n\t"                         \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #28 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory",__CALLER_SAVED_REGS           \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
-                                  arg6,arg7,arg8,arg9,arg10,      \
-                                  arg11,arg12)                    \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[13];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      _argvec[12] = (unsigned long)(arg12);                       \
-      __asm__ volatile(                                           \
-         "ldr r0, [%1, #40] \n\t"                                 \
-         "ldr r1, [%1, #44] \n\t"                                 \
-         "ldr r2, [%1, #48] \n\t"                                 \
-         "push {r0, r1, r2} \n\t"                                 \
-         "ldr r0, [%1, #20] \n\t"                                 \
-         "ldr r1, [%1, #24] \n\t"                                 \
-         "ldr r2, [%1, #28] \n\t"                                 \
-         "ldr r3, [%1, #32] \n\t"                                 \
-         "ldr r4, [%1, #36] \n\t"                                 \
-         "push {r0, r1, r2, r3, r4} \n\t"                         \
-         "ldr r0, [%1, #4] \n\t"                                  \
-         "ldr r1, [%1, #8] \n\t"                                  \
-         "ldr r2, [%1, #12] \n\t"                                 \
-         "ldr r3, [%1, #16] \n\t"                                 \
-         "ldr r4, [%1] \n\t"  /* target->r4 */                    \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #32 \n\t"                                   \
-         "mov %0, r0"                                             \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_arm_linux */
-
-/* ------------------------ ppc32-aix5 ------------------------- */
-
-#if defined(PLAT_ppc32_aix5)
-
-/* ARGREGS: r3 r4 r5 r6 r7 r8 r9 r10 (the rest on stack somewhere) */
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS                                       \
-   "lr", "ctr", "xer",                                            \
-   "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",        \
-   "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
-   "r11", "r12", "r13"
-
-/* Expand the stack frame, copying enough info that unwinding
-   still works.  Trashes r3. */
-
-#define VG_EXPAND_FRAME_BY_trashes_r3(_n_fr)                      \
-         "addi 1,1,-" #_n_fr "\n\t"                               \
-         "lwz  3," #_n_fr "(1)\n\t"                               \
-         "stw  3,0(1)\n\t"
-
-#define VG_CONTRACT_FRAME_BY(_n_fr)                               \
-         "addi 1,1," #_n_fr "\n\t"
-
-/* These CALL_FN_ macros assume that on ppc32-aix5, sizeof(unsigned
-   long) == 4. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+0];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1] = (unsigned long)_orig.r2;                       \
-      _argvec[2] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+1];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+2];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+3];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+4];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+5];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t" /* arg2->r4 */                       \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+6];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+7];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+8];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 10, 32(11)\n\t" /* arg8->r10 */                     \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+9];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(64)                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,56(1)\n\t"                                        \
-         /* args1-8 */                                            \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 10, 32(11)\n\t" /* arg8->r10 */                     \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(64)                                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+10];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(64)                        \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,60(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,56(1)\n\t"                                        \
-         /* args1-8 */                                            \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 10, 32(11)\n\t" /* arg8->r10 */                     \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(64)                                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+11];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(72)                        \
-         /* arg11 */                                              \
-         "lwz 3,44(11)\n\t"                                       \
-         "stw 3,64(1)\n\t"                                        \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,60(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,56(1)\n\t"                                        \
-         /* args1-8 */                                            \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 10, 32(11)\n\t" /* arg8->r10 */                     \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(72)                                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+12];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      _argvec[2+12] = (unsigned long)arg12;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "stw  2,-8(11)\n\t"  /* save tocptr */                   \
-         "lwz  2,-4(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(72)                        \
-         /* arg12 */                                              \
-         "lwz 3,48(11)\n\t"                                       \
-         "stw 3,68(1)\n\t"                                        \
-         /* arg11 */                                              \
-         "lwz 3,44(11)\n\t"                                       \
-         "stw 3,64(1)\n\t"                                        \
-         /* arg10 */                                              \
-         "lwz 3,40(11)\n\t"                                       \
-         "stw 3,60(1)\n\t"                                        \
-         /* arg9 */                                               \
-         "lwz 3,36(11)\n\t"                                       \
-         "stw 3,56(1)\n\t"                                        \
-         /* args1-8 */                                            \
-         "lwz  3, 4(11)\n\t"  /* arg1->r3 */                      \
-         "lwz  4, 8(11)\n\t"  /* arg2->r4 */                      \
-         "lwz  5, 12(11)\n\t" /* arg3->r5 */                      \
-         "lwz  6, 16(11)\n\t" /* arg4->r6 */                      \
-         "lwz  7, 20(11)\n\t" /* arg5->r7 */                      \
-         "lwz  8, 24(11)\n\t" /* arg6->r8 */                      \
-         "lwz  9, 28(11)\n\t" /* arg7->r9 */                      \
-         "lwz 10, 32(11)\n\t" /* arg8->r10 */                     \
-         "lwz 11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "lwz 2,-8(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(72)                                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_ppc32_aix5 */
-
-/* ------------------------ ppc64-aix5 ------------------------- */
-
-#if defined(PLAT_ppc64_aix5)
-
-/* ARGREGS: r3 r4 r5 r6 r7 r8 r9 r10 (the rest on stack somewhere) */
-
-/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS                                       \
-   "lr", "ctr", "xer",                                            \
-   "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7",        \
-   "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
-   "r11", "r12", "r13"
-
-/* Expand the stack frame, copying enough info that unwinding
-   still works.  Trashes r3. */
-
-#define VG_EXPAND_FRAME_BY_trashes_r3(_n_fr)                      \
-         "addi 1,1,-" #_n_fr "\n\t"                               \
-         "ld   3," #_n_fr "(1)\n\t"                               \
-         "std  3,0(1)\n\t"
-
-#define VG_CONTRACT_FRAME_BY(_n_fr)                               \
-         "addi 1,1," #_n_fr "\n\t"
-
-/* These CALL_FN_ macros assume that on ppc64-aix5, sizeof(unsigned
-   long) == 8. */
-
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+0];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1] = (unsigned long)_orig.r2;                       \
-      _argvec[2] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+1];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+2];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+3];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+4];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+5];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+6];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+7];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+8];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+9];                        \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(128)                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(128)                                \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+10];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(128)                       \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(128)                                \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+11];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(144)                       \
-         /* arg11 */                                              \
-         "ld  3,88(11)\n\t"                                       \
-         "std 3,128(1)\n\t"                                       \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(144)                                \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3+12];                       \
-      volatile unsigned long _res;                                \
-      /* _argvec[0] holds current r2 across the call */           \
-      _argvec[1]   = (unsigned long)_orig.r2;                     \
-      _argvec[2]   = (unsigned long)_orig.nraddr;                 \
-      _argvec[2+1] = (unsigned long)arg1;                         \
-      _argvec[2+2] = (unsigned long)arg2;                         \
-      _argvec[2+3] = (unsigned long)arg3;                         \
-      _argvec[2+4] = (unsigned long)arg4;                         \
-      _argvec[2+5] = (unsigned long)arg5;                         \
-      _argvec[2+6] = (unsigned long)arg6;                         \
-      _argvec[2+7] = (unsigned long)arg7;                         \
-      _argvec[2+8] = (unsigned long)arg8;                         \
-      _argvec[2+9] = (unsigned long)arg9;                         \
-      _argvec[2+10] = (unsigned long)arg10;                       \
-      _argvec[2+11] = (unsigned long)arg11;                       \
-      _argvec[2+12] = (unsigned long)arg12;                       \
-      __asm__ volatile(                                           \
-         "mr 11,%1\n\t"                                           \
-         VG_EXPAND_FRAME_BY_trashes_r3(512)                       \
-         "std  2,-16(11)\n\t" /* save tocptr */                   \
-         "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
-         VG_EXPAND_FRAME_BY_trashes_r3(144)                       \
-         /* arg12 */                                              \
-         "ld  3,96(11)\n\t"                                       \
-         "std 3,136(1)\n\t"                                       \
-         /* arg11 */                                              \
-         "ld  3,88(11)\n\t"                                       \
-         "std 3,128(1)\n\t"                                       \
-         /* arg10 */                                              \
-         "ld  3,80(11)\n\t"                                       \
-         "std 3,120(1)\n\t"                                       \
-         /* arg9 */                                               \
-         "ld  3,72(11)\n\t"                                       \
-         "std 3,112(1)\n\t"                                       \
-         /* args1-8 */                                            \
-         "ld   3, 8(11)\n\t"  /* arg1->r3 */                      \
-         "ld   4, 16(11)\n\t" /* arg2->r4 */                      \
-         "ld   5, 24(11)\n\t" /* arg3->r5 */                      \
-         "ld   6, 32(11)\n\t" /* arg4->r6 */                      \
-         "ld   7, 40(11)\n\t" /* arg5->r7 */                      \
-         "ld   8, 48(11)\n\t" /* arg6->r8 */                      \
-         "ld   9, 56(11)\n\t" /* arg7->r9 */                      \
-         "ld  10, 64(11)\n\t" /* arg8->r10 */                     \
-         "ld  11, 0(11)\n\t"  /* target->r11 */                   \
-         VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "mr 11,%1\n\t"                                           \
-         "mr %0,3\n\t"                                            \
-         "ld  2,-16(11)\n\t" /* restore tocptr */                 \
-         VG_CONTRACT_FRAME_BY(144)                                \
-         VG_CONTRACT_FRAME_BY(512)                                \
-         : /*out*/   "=r" (_res)                                  \
-         : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
-   } while (0)
-
-#endif /* PLAT_ppc64_aix5 */
-
-
-/* ------------------------------------------------------------------ */
-/* ARCHITECTURE INDEPENDENT MACROS for CLIENT REQUESTS.               */
-/*                                                                    */
-/* ------------------------------------------------------------------ */
-
-/* Some request codes.  There are many more of these, but most are not
-   exposed to end-user view.  These are the public ones, all of the
-   form 0x1000 + small_number.
-
-   Core ones are in the range 0x00000000--0x0000ffff.  The non-public
-   ones start at 0x2000.
-*/
-
-/* These macros are used by tools -- they must be public, but don't
-   embed them into other programs. */
-#define VG_USERREQ_TOOL_BASE(a,b) \
-   ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))
-#define VG_IS_TOOL_USERREQ(a, b, v) \
-   (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))
-
-/* !! ABIWARNING !! ABIWARNING !! ABIWARNING !! ABIWARNING !! 
-   This enum comprises an ABI exported by Valgrind to programs
-   which use client requests.  DO NOT CHANGE THE ORDER OF THESE
-   ENTRIES, NOR DELETE ANY -- add new ones at the end. */
-typedef
-   enum { VG_USERREQ__RUNNING_ON_VALGRIND  = 0x1001,
-          VG_USERREQ__DISCARD_TRANSLATIONS = 0x1002,
-
-          /* These allow any function to be called from the simulated
-             CPU but run on the real CPU.  Nb: the first arg passed to
-             the function is always the ThreadId of the running
-             thread!  So CLIENT_CALL0 actually requires a 1 arg
-             function, etc. */
-          VG_USERREQ__CLIENT_CALL0 = 0x1101,
-          VG_USERREQ__CLIENT_CALL1 = 0x1102,
-          VG_USERREQ__CLIENT_CALL2 = 0x1103,
-          VG_USERREQ__CLIENT_CALL3 = 0x1104,
-
-          /* Can be useful in regression testing suites -- eg. can
-             send Valgrind's output to /dev/null and still count
-             errors. */
-          VG_USERREQ__COUNT_ERRORS = 0x1201,
-
-          /* These are useful and can be interpreted by any tool that
-             tracks malloc() et al, by using vg_replace_malloc.c. */
-          VG_USERREQ__MALLOCLIKE_BLOCK = 0x1301,
-          VG_USERREQ__FREELIKE_BLOCK   = 0x1302,
-          /* Memory pool support. */
-          VG_USERREQ__CREATE_MEMPOOL   = 0x1303,
-          VG_USERREQ__DESTROY_MEMPOOL  = 0x1304,
-          VG_USERREQ__MEMPOOL_ALLOC    = 0x1305,
-          VG_USERREQ__MEMPOOL_FREE     = 0x1306,
-          VG_USERREQ__MEMPOOL_TRIM     = 0x1307,
-          VG_USERREQ__MOVE_MEMPOOL     = 0x1308,
-          VG_USERREQ__MEMPOOL_CHANGE   = 0x1309,
-          VG_USERREQ__MEMPOOL_EXISTS   = 0x130a,
-
-          /* Allow printfs to valgrind log. */
-          /* The first two pass the va_list argument by value, which
-             assumes it is the same size as or smaller than a UWord,
-             which generally isn't the case.  Hence are deprecated.
-             The second two pass the vargs by reference and so are
-             immune to this problem. */
-          /* both :: char* fmt, va_list vargs (DEPRECATED) */
-          VG_USERREQ__PRINTF           = 0x1401,
-          VG_USERREQ__PRINTF_BACKTRACE = 0x1402,
-          /* both :: char* fmt, va_list* vargs */
-          VG_USERREQ__PRINTF_VALIST_BY_REF = 0x1403,
-          VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 0x1404,
-
-          /* Stack support. */
-          VG_USERREQ__STACK_REGISTER   = 0x1501,
-          VG_USERREQ__STACK_DEREGISTER = 0x1502,
-          VG_USERREQ__STACK_CHANGE     = 0x1503,
-
-          /* Wine support */
-          VG_USERREQ__LOAD_PDB_DEBUGINFO = 0x1601,
-
-          /* Querying of debug info. */
-          VG_USERREQ__MAP_IP_TO_SRCLOC = 0x1701
-   } Vg_ClientRequest;
-
-#if !defined(__GNUC__)
-#  define __extension__ /* */
-#endif
-
-
-/*
- * VALGRIND_DO_CLIENT_REQUEST_EXPR(): a C expression that invokes a Valgrind
- * client request and whose value equals the client request result.
- */
-
-#if defined(NVALGRIND)
-
-#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                               \
-        _zzq_default, _zzq_request,                                    \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)         \
-   (_zzq_default)
-
-#else /*defined(NVALGRIND)*/
-
-#if defined(_MSC_VER)
-
-#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                                \
-        _zzq_default, _zzq_request,                                     \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)          \
-   (vg_VALGRIND_DO_CLIENT_REQUEST_EXPR((uintptr_t)(_zzq_default),       \
-        (_zzq_request), (uintptr_t)(_zzq_arg1), (uintptr_t)(_zzq_arg2), \
-        (uintptr_t)(_zzq_arg3), (uintptr_t)(_zzq_arg4),                 \
-        (uintptr_t)(_zzq_arg5)))
-
-static __inline unsigned
-vg_VALGRIND_DO_CLIENT_REQUEST_EXPR(uintptr_t _zzq_default,
-                                   unsigned _zzq_request, uintptr_t _zzq_arg1,
-                                   uintptr_t _zzq_arg2, uintptr_t _zzq_arg3,
-                                   uintptr_t _zzq_arg4, uintptr_t _zzq_arg5)
-{
-    unsigned _zzq_rlval;
-    VALGRIND_DO_CLIENT_REQUEST(_zzq_rlval, _zzq_default, _zzq_request,
-                      _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5);
-    return _zzq_rlval;
-}
-
-#else /*defined(_MSC_VER)*/
-
-#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                               \
-        _zzq_default, _zzq_request,                                    \
-        _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)         \
-   (__extension__({unsigned int _zzq_rlval;                            \
-    VALGRIND_DO_CLIENT_REQUEST(_zzq_rlval, _zzq_default, _zzq_request, \
-                _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
-    _zzq_rlval;                                                        \
-   }))
-
-#endif /*defined(_MSC_VER)*/
-
-#endif /*defined(NVALGRIND)*/
-
-
-/* Returns the number of Valgrinds this code is running under.  That
-   is, 0 if running natively, 1 if running under Valgrind, 2 if
-   running under Valgrind which is running under another Valgrind,
-   etc. */
-#define RUNNING_ON_VALGRIND                                           \
-    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */,                   \
-                                    VG_USERREQ__RUNNING_ON_VALGRIND,  \
-                                    0, 0, 0, 0, 0)                    \
-
-
-/* Discard translation of code in the range [_qzz_addr .. _qzz_addr +
-   _qzz_len - 1].  Useful if you are debugging a JITter or some such,
-   since it provides a way to make sure valgrind will retranslate the
-   invalidated area.  Returns no value. */
-#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr,_qzz_len)         \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__DISCARD_TRANSLATIONS,  \
-                               _qzz_addr, _qzz_len, 0, 0, 0);     \
-   }
-
-
-/* These requests are for getting Valgrind itself to print something.
-   Possibly with a backtrace.  This is a really ugly hack.  The return value
-   is the number of characters printed, excluding the "**<pid>** " part at the
-   start and the backtrace (if present). */
-
-#if defined(NVALGRIND)
-
-#  define VALGRIND_PRINTF(...)
-#  define VALGRIND_PRINTF_BACKTRACE(...)
-
-#else /* NVALGRIND */
-
-#if !defined(_MSC_VER)
-/* Modern GCC will optimize the static routine out if unused,
-   and unused attribute will shut down warnings about it.  */
-static int VALGRIND_PRINTF(const char *format, ...)
-   __attribute__((format(__printf__, 1, 2), __unused__));
-#endif
-static int
-#if defined(_MSC_VER)
-__inline
-#endif
-VALGRIND_PRINTF(const char *format, ...)
-{
-   unsigned long _qzz_res;
-   va_list vargs;
-   va_start(vargs, format);
-#if defined(_MSC_VER)
-   VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,
-                              VG_USERREQ__PRINTF_VALIST_BY_REF,
-                              (uintptr_t)format,
-                              (uintptr_t)&vargs,
-                              0, 0, 0);
-#else
-   VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,
-                              VG_USERREQ__PRINTF_VALIST_BY_REF,
-                              (unsigned long)format,
-                              (unsigned long)&vargs, 
-                              0, 0, 0);
-#endif
-   va_end(vargs);
-   return (int)_qzz_res;
-}
-
-#if !defined(_MSC_VER)
-static int VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
-   __attribute__((format(__printf__, 1, 2), __unused__));
-#endif
-static int
-#if defined(_MSC_VER)
-__inline
-#endif
-VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
-{
-   unsigned long _qzz_res;
-   va_list vargs;
-   va_start(vargs, format);
-#if defined(_MSC_VER)
-   VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,
-                              VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF,
-                              (uintptr_t)format,
-                              (uintptr_t)&vargs,
-                              0, 0, 0);
-#else
-   VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,
-                              VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF,
-                              (unsigned long)format,
-                              (unsigned long)&vargs, 
-                              0, 0, 0);
-#endif
-   va_end(vargs);
-   return (int)_qzz_res;
-}
-
-#endif /* NVALGRIND */
-
-
-/* These requests allow control to move from the simulated CPU to the
-   real CPU, calling an arbitary function.
-   
-   Note that the current ThreadId is inserted as the first argument.
-   So this call:
-
-     VALGRIND_NON_SIMD_CALL2(f, arg1, arg2)
-
-   requires f to have this signature:
-
-     Word f(Word tid, Word arg1, Word arg2)
-
-   where "Word" is a word-sized type.
-
-   Note that these client requests are not entirely reliable.  For example,
-   if you call a function with them that subsequently calls printf(),
-   there's a high chance Valgrind will crash.  Generally, your prospects of
-   these working are made higher if the called function does not refer to
-   any global variables, and does not refer to any libc or other functions
-   (printf et al).  Any kind of entanglement with libc or dynamic linking is
-   likely to have a bad outcome, for tricky reasons which we've grappled
-   with a lot in the past.
-*/
-#define VALGRIND_NON_SIMD_CALL0(_qyy_fn)                          \
-   __extension__                                                  \
-   ({unsigned long _qyy_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */,  \
-                               VG_USERREQ__CLIENT_CALL0,          \
-                               _qyy_fn,                           \
-                               0, 0, 0, 0);                       \
-    _qyy_res;                                                     \
-   })
-
-#define VALGRIND_NON_SIMD_CALL1(_qyy_fn, _qyy_arg1)               \
-   __extension__                                                  \
-   ({unsigned long _qyy_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */,  \
-                               VG_USERREQ__CLIENT_CALL1,          \
-                               _qyy_fn,                           \
-                               _qyy_arg1, 0, 0, 0);               \
-    _qyy_res;                                                     \
-   })
-
-#define VALGRIND_NON_SIMD_CALL2(_qyy_fn, _qyy_arg1, _qyy_arg2)    \
-   __extension__                                                  \
-   ({unsigned long _qyy_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */,  \
-                               VG_USERREQ__CLIENT_CALL2,          \
-                               _qyy_fn,                           \
-                               _qyy_arg1, _qyy_arg2, 0, 0);       \
-    _qyy_res;                                                     \
-   })
-
-#define VALGRIND_NON_SIMD_CALL3(_qyy_fn, _qyy_arg1, _qyy_arg2, _qyy_arg3) \
-   __extension__                                                  \
-   ({unsigned long _qyy_res;                                      \
-    VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */,  \
-                               VG_USERREQ__CLIENT_CALL3,          \
-                               _qyy_fn,                           \
-                               _qyy_arg1, _qyy_arg2,              \
-                               _qyy_arg3, 0);                     \
-    _qyy_res;                                                     \
-   })
-
-
-/* Counts the number of errors that have been recorded by a tool.  Nb:
-   the tool must record the errors with VG_(maybe_record_error)() or
-   VG_(unique_error)() for them to be counted. */
-#define VALGRIND_COUNT_ERRORS                                     \
-   __extension__                                                  \
-   ({unsigned int _qyy_res;                                       \
-    VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */,  \
-                               VG_USERREQ__COUNT_ERRORS,          \
-                               0, 0, 0, 0, 0);                    \
-    _qyy_res;                                                     \
-   })
-
-/* Several Valgrind tools (Memcheck, Massif, Helgrind, DRD) rely on knowing
-   when heap blocks are allocated in order to give accurate results.  This
-   happens automatically for the standard allocator functions such as
-   malloc(), calloc(), realloc(), memalign(), new, new[], free(), delete,
-   delete[], etc.
-
-   But if your program uses a custom allocator, this doesn't automatically
-   happen, and Valgrind will not do as well.  For example, if you allocate
-   superblocks with mmap() and then allocates chunks of the superblocks, all
-   Valgrind's observations will be at the mmap() level and it won't know that
-   the chunks should be considered separate entities.  In Memcheck's case,
-   that means you probably won't get heap block overrun detection (because
-   there won't be redzones marked as unaddressable) and you definitely won't
-   get any leak detection.
-
-   The following client requests allow a custom allocator to be annotated so
-   that it can be handled accurately by Valgrind.
-
-   VALGRIND_MALLOCLIKE_BLOCK marks a region of memory as having been allocated
-   by a malloc()-like function.  For Memcheck (an illustrative case), this
-   does two things:
-
-   - It records that the block has been allocated.  This means any addresses
-     within the block mentioned in error messages will be
-     identified as belonging to the block.  It also means that if the block
-     isn't freed it will be detected by the leak checker.
-
-   - It marks the block as being addressable and undefined (if 'is_zeroed' is
-     not set), or addressable and defined (if 'is_zeroed' is set).  This
-     controls how accesses to the block by the program are handled.
-   
-   'addr' is the start of the usable block (ie. after any
-   redzone), 'sizeB' is its size.  'rzB' is the redzone size if the allocator
-   can apply redzones -- these are blocks of padding at the start and end of
-   each block.  Adding redzones is recommended as it makes it much more likely
-   Valgrind will spot block overruns.  `is_zeroed' indicates if the memory is
-   zeroed (or filled with another predictable value), as is the case for
-   calloc().
-   
-   VALGRIND_MALLOCLIKE_BLOCK should be put immediately after the point where a
-   heap block -- that will be used by the client program -- is allocated.
-   It's best to put it at the outermost level of the allocator if possible;
-   for example, if you have a function my_alloc() which calls
-   internal_alloc(), and the client request is put inside internal_alloc(),
-   stack traces relating to the heap block will contain entries for both
-   my_alloc() and internal_alloc(), which is probably not what you want.
-
-   For Memcheck users: if you use VALGRIND_MALLOCLIKE_BLOCK to carve out
-   custom blocks from within a heap block, B, that has been allocated with
-   malloc/calloc/new/etc, then block B will be *ignored* during leak-checking
-   -- the custom blocks will take precedence.
-
-   VALGRIND_FREELIKE_BLOCK is the partner to VALGRIND_MALLOCLIKE_BLOCK.  For
-   Memcheck, it does two things:
-
-   - It records that the block has been deallocated.  This assumes that the
-     block was annotated as having been allocated via
-     VALGRIND_MALLOCLIKE_BLOCK.  Otherwise, an error will be issued.
-
-   - It marks the block as being unaddressable.
-
-   VALGRIND_FREELIKE_BLOCK should be put immediately after the point where a
-   heap block is deallocated.
-
-   In many cases, these two client requests will not be enough to get your
-   allocator working well with Memcheck.  More specifically, if your allocator
-   writes to freed blocks in any way then a VALGRIND_MAKE_MEM_UNDEFINED call
-   will be necessary to mark the memory as addressable just before the zeroing
-   occurs, otherwise you'll get a lot of invalid write errors.  For example,
-   you'll need to do this if your allocator recycles freed blocks, but it
-   zeroes them before handing them back out (via VALGRIND_MALLOCLIKE_BLOCK).
-   Alternatively, if your allocator reuses freed blocks for allocator-internal
-   data structures, VALGRIND_MAKE_MEM_UNDEFINED calls will also be necessary.
-
-   Really, what's happening is a blurring of the lines between the client
-   program and the allocator... after VALGRIND_FREELIKE_BLOCK is called, the
-   memory should be considered unaddressable to the client program, but the
-   allocator knows more than the rest of the client program and so may be able
-   to safely access it.  Extra client requests are necessary for Valgrind to
-   understand the distinction between the allocator and the rest of the
-   program.
-
-   Note: there is currently no VALGRIND_REALLOCLIKE_BLOCK client request;  it
-   has to be emulated with MALLOCLIKE/FREELIKE and memory copying.
-   
-   Ignored if addr == 0.
-*/
-#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed)    \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MALLOCLIKE_BLOCK,      \
-                               addr, sizeB, rzB, is_zeroed, 0);   \
-   }
-
-/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details.
-   Ignored if addr == 0.
-*/
-#define VALGRIND_FREELIKE_BLOCK(addr, rzB)                        \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__FREELIKE_BLOCK,        \
-                               addr, rzB, 0, 0, 0);               \
-   }
-
-/* Create a memory pool. */
-#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed)             \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__CREATE_MEMPOOL,        \
-                               pool, rzB, is_zeroed, 0, 0);       \
-   }
-
-/* Destroy a memory pool. */
-#define VALGRIND_DESTROY_MEMPOOL(pool)                            \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__DESTROY_MEMPOOL,       \
-                               pool, 0, 0, 0, 0);                 \
-   }
-
-/* Associate a piece of memory with a memory pool. */
-#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size)                  \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MEMPOOL_ALLOC,         \
-                               pool, addr, size, 0, 0);           \
-   }
-
-/* Disassociate a piece of memory from a memory pool. */
-#define VALGRIND_MEMPOOL_FREE(pool, addr)                         \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MEMPOOL_FREE,          \
-                               pool, addr, 0, 0, 0);              \
-   }
-
-/* Disassociate any pieces outside a particular range. */
-#define VALGRIND_MEMPOOL_TRIM(pool, addr, size)                   \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MEMPOOL_TRIM,          \
-                               pool, addr, size, 0, 0);           \
-   }
-
-/* Resize and/or move a piece associated with a memory pool. */
-#define VALGRIND_MOVE_MEMPOOL(poolA, poolB)                       \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MOVE_MEMPOOL,          \
-                               poolA, poolB, 0, 0, 0);            \
-   }
-
-/* Resize and/or move a piece associated with a memory pool. */
-#define VALGRIND_MEMPOOL_CHANGE(pool, addrA, addrB, size)         \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MEMPOOL_CHANGE,        \
-                               pool, addrA, addrB, size, 0);      \
-   }
-
-/* Return 1 if a mempool exists, else 0. */
-#define VALGRIND_MEMPOOL_EXISTS(pool)                             \
-   __extension__                                                  \
-   ({unsigned int _qzz_res;                                       \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MEMPOOL_EXISTS,        \
-                               pool, 0, 0, 0, 0);                 \
-    _qzz_res;                                                     \
-   })
-
-/* Mark a piece of memory as being a stack. Returns a stack id. */
-#define VALGRIND_STACK_REGISTER(start, end)                       \
-   __extension__                                                  \
-   ({unsigned int _qzz_res;                                       \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__STACK_REGISTER,        \
-                               start, end, 0, 0, 0);              \
-    _qzz_res;                                                     \
-   })
-
-/* Unmark the piece of memory associated with a stack id as being a
-   stack. */
-#define VALGRIND_STACK_DEREGISTER(id)                             \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__STACK_DEREGISTER,      \
-                               id, 0, 0, 0, 0);                   \
-   }
-
-/* Change the start and end address of the stack id. */
-#define VALGRIND_STACK_CHANGE(id, start, end)                     \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__STACK_CHANGE,          \
-                               id, start, end, 0, 0);             \
-   }
-
-/* Load PDB debug info for Wine PE image_map. */
-#define VALGRIND_LOAD_PDB_DEBUGINFO(fd, ptr, total_size, delta)   \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__LOAD_PDB_DEBUGINFO,    \
-                               fd, ptr, total_size, delta, 0);    \
-   }
-
-/* Map a code address to a source file name and line number.  buf64
-   must point to a 64-byte buffer in the caller's address space.  The
-   result will be dumped in there and is guaranteed to be zero
-   terminated.  If no info is found, the first byte is set to zero. */
-#define VALGRIND_MAP_IP_TO_SRCLOC(addr, buf64)                    \
-   {unsigned int _qzz_res;                                        \
-    VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0,                       \
-                               VG_USERREQ__MAP_IP_TO_SRCLOC,      \
-                               addr, buf64, 0, 0, 0);             \
-   }
-
-
-#undef PLAT_x86_linux
-#undef PLAT_amd64_linux
-#undef PLAT_ppc32_linux
-#undef PLAT_ppc64_linux
-#undef PLAT_arm_linux
-#undef PLAT_ppc32_aix5
-#undef PLAT_ppc64_aix5
-
-#endif   /* __VALGRIND_H */
-- 
GitLab