Start artificial history with a base of a modern Vine version.

Based on:
------------------------------------------------------------------------
r6233 | smcc | 2013-05-11 21:18:03 +0000 (Sat, 11 May 2013) | 3 lines

Remove the STP binaries, and instead give instructions for recompiling
them.

------------------------------------------------------------------------
from the Berkeley FuzzBALL-release branch (fuzzball-darpa-nov2012),
with FuzzBALL-specific stuff removed.
Update .gitignore files for previous commit.
Initial monolithic fuzzball.ml version

Based on the oldest version in the Berkeley vine-execution SVN branch:
------------------------------------------------------------------------
r4130 | smcc | 2009-08-18 00:42:55 +0000 (Tue, 18 Aug 2009) | 5 lines

All the new code in the vine-execution project, as one giant file
which is the way I've been developing it so far. (Will reorganize in
the future). Also "trans_eval" [is not] intended as a permanent name or tool
interface.
------------------------------------------------------------------------
(In real history the source file was utils/trans_eval.ml, but this
artificial history moves it to the more modern location of
exec_utils/fuzzball.ml.)
Patch the previous commit so it builds in the artificial context.
Initial version of bin2vine.pl setup script

------------------------------------------------------------------------
r4134 | smcc | 2009-08-18 02:07:06 +0000 (Tue, 18 Aug 2009) | 3 lines

A Perl script to render the startup state of a Linux process as Vine
code. The plan is to replace this with OCaml code in the future.
------------------------------------------------------------------------
Patch for compatibility with R_IP_AT_SYSCALL

Allows a simple dietlibc hello world to run, for instance.
Add memory object and snapshotting, apply to PCRE

------------------------------------------------------------------------
r4182 | smcc | 2009-08-26 01:59:10 +0000 (Wed, 26 Aug 2009) | 3 lines

Add abstraction to memory, making it and the machine snapshottable,
and apply to simplistic concrete PCRE fuzzing

------------------------------------------------------------------------
Patch PCRE binary addrs for a more modern binary

(The one that appears in examples/pcre-compile later.) This makes it
easier to test the old versions.
(Backdated commit date)
Refactor Linux syscalls into their own class

------------------------------------------------------------------------
r4197 | smcc | 2009-08-28 01:53:35 +0000 (Fri, 28 Aug 2009) | 4 lines

Refactor system call emulation so that it's in its own class, and it
modifie[s] the fragment machine's state directly rather than by
creating lists of statements.
------------------------------------------------------------------------
(Backdated commit date)
Move GPR variables out of the runloop

------------------------------------------------------------------------
r4204 | smcc | 2009-08-29 01:36:38 +0000 (Sat, 29 Aug 2009) | 3 lines

Fix a silly performance mistake by moving the definition of the GPR
variables outside the runloop.
------------------------------------------------------------------------
Implement one concrete level of granular memory

------------------------------------------------------------------------
r4210 | smcc | 2009-09-03 02:39:13 +0000 (Thu, 03 Sep 2009) | 3 lines

Implement an initial concrete, one-level-only version of memory
granularity.
------------------------------------------------------------------------
(Carrying over changed PCRE addresses)
Add initial snapshotting to granular memory

------------------------------------------------------------------------
r4216 | smcc | 2009-09-04 18:50:39 +0000 (Fri, 04 Sep 2009) | 3 lines

Add snapshotting support (and some debugging support I added along the
way) to granular memory.
------------------------------------------------------------------------
Add the domain abstraction (concrete vs. symbolic)

------------------------------------------------------------------------
r4234 | smcc | 2009-09-11 02:08:33 +0000 (Fri, 11 Sep 2009) | 3 lines

Introduce the "domain" abstraction for concrete vs. (not yet running)
symbolic execution.
------------------------------------------------------------------------
Fixes and simplifications related to symbolic values

------------------------------------------------------------------------
r4235 | smcc | 2009-09-12 00:26:10 +0000 (Sat, 12 Sep 2009) | 4 lines

A few more fixes related to the introduction of symbolic values; add
periodic simplification to the interface. Symbolic values now work in
concrete mode (when you don't introduce variables).
------------------------------------------------------------------------
Add simple all-symbolic fuzzing in the PCRE example

------------------------------------------------------------------------
r4266 | smcc | 2009-09-25 00:42:42 +0000 (Fri, 25 Sep 2009) | 4 lines

Add simple (DFS only) all-symbolic fuzzing in the PCRE example.
Currently gets through the (*FOO) parsing only (because there's no
symbolic address support)
------------------------------------------------------------------------
(Carrying over changed PCRE binary addresses)
Initial approach to generating values for symbolic addresses

------------------------------------------------------------------------
r4270 | smcc | 2009-09-25 23:29:46 +0000 (Fri, 25 Sep 2009) | 5 lines

Implement a simplistic approach to generating feasible values for
symbolic addresses.
Generate temporary variables for large intermediate expressions.
Clean up some unused code.
------------------------------------------------------------------------
Introduce query_engine abstraction and more space accounting

------------------------------------------------------------------------
r4288 | smcc | 2009-09-30 02:09:00 +0000 (Wed, 30 Sep 2009) | 4 lines

Introduce a "query_engine" abstraction to cover both STPVC and STP as
a standalone program. Standalone STP is slower, but maybe it will have
fewer memory leaks. Also, more space accounting code.
------------------------------------------------------------------------
Patch STP interface code for modern vine/stp.ml

The translation of a reg1_t predicate is now a boolean, not a 1-bit
bitvector, and the input variables might have had their suffixes
stripped.
Note however you still need an old STP for this code (our binary was
from April 2008).
(Backdated commit date)
Parse new format STP counterexamples, more memory stats

------------------------------------------------------------------------
r4293 | smcc | 2009-10-02 23:14:54 +0000 (Fri, 02 Oct 2009) | 3 lines

Add support for new-style STP counterexamples. Also, yet more memory
statistics stuff.
------------------------------------------------------------------------
Refactor symbolic execution out of frag_machine, more memory stats

------------------------------------------------------------------------
r4317 | smcc | 2009-10-10 05:17:15 +0000 (Sat, 10 Oct 2009) | 3 lines

Refactor the symbolic-execution-specific parts out of frag_machine.
Plus even fancier memory usage debugging stuff.
------------------------------------------------------------------------