llvm/tools/llee
Misha Brukman 593ece0050 A lot of changes were suggested by Chris.
ExecveHandler.c:
* Use "" instead of <> for LLVM include files
* Use raw I/O, we don't need buffering
* Set errno = 0 before using open()
* strlen() doesn't count NULL terminator in its size
* Use memcmp() instead of strcmp()
* Return result of the real execve(), not 0
* Search for path to bytecode file if not absolute/relative path

SysUtils.c:
* Convert all comments to C-style
* Stop using `bool', use `unsigned' instead

SysUtils.h:
* Stop using `bool', use `unsigned' instead
* Updated comment to FindExecutable()

README.txt:
* Describe the goal of LLEE and an application


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7911 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 23:31:16 +00:00
..
ExecveHandler.c A lot of changes were suggested by Chris. 2003-08-15 23:31:16 +00:00
llee Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment. 2003-08-11 22:29:36 +00:00
Makefile Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment. 2003-08-11 22:29:36 +00:00
README.txt A lot of changes were suggested by Chris. 2003-08-15 23:31:16 +00:00
SysUtils.c A lot of changes were suggested by Chris. 2003-08-15 23:31:16 +00:00
SysUtils.h A lot of changes were suggested by Chris. 2003-08-15 23:31:16 +00:00

              LLEE: (LL)VM (E)xecution (E)nvironment

This tool presents a virtual execution environment for LLVM programs. By
preloading a shared object which defines a custom execve() functions, we can
execute bytecode files with the JIT directly, without the user ever thinking
about it.

Thus, a user can freely run any program, native or LLVM bytecode, transparently,
and without even being aware of it.

To use LLEE, run `./llee <native_program>', a good choice is a shell. Anything
started within that program will be affected by the execve() replacement.