diff options
-rw-r--r-- | lib/ExecutionEngine/Makefile | 12 | ||||
-rw-r--r-- | tools/lli/Makefile | 12 | ||||
-rw-r--r-- | tools/lli/RuntimeLib.lc | 25 |
3 files changed, 49 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/Makefile b/lib/ExecutionEngine/Makefile index bc5578c0a2..b1b936d3bf 100644 --- a/lib/ExecutionEngine/Makefile +++ b/lib/ExecutionEngine/Makefile @@ -5,3 +5,15 @@ TOOLLINKOPTS = -ldl include $(LEVEL)/Makefile.common +all :: $(LEVEL)/tools/Debug/RuntimeLib.bc + +Debug/RuntimeLib.c: RuntimeLib.lc + cp -f $< $@ + +Debug/RuntimeLib.o: Debug/RuntimeLib.c + /home/vadve/lattner/cvs/gcc_install/bin/gcc $< -c -o $@ + +$(LEVEL)/tools/Debug/RuntimeLib.bc: Debug/RuntimeLib.o + opt -dce $< -o $@ -f -q + + diff --git a/tools/lli/Makefile b/tools/lli/Makefile index bc5578c0a2..b1b936d3bf 100644 --- a/tools/lli/Makefile +++ b/tools/lli/Makefile @@ -5,3 +5,15 @@ TOOLLINKOPTS = -ldl include $(LEVEL)/Makefile.common +all :: $(LEVEL)/tools/Debug/RuntimeLib.bc + +Debug/RuntimeLib.c: RuntimeLib.lc + cp -f $< $@ + +Debug/RuntimeLib.o: Debug/RuntimeLib.c + /home/vadve/lattner/cvs/gcc_install/bin/gcc $< -c -o $@ + +$(LEVEL)/tools/Debug/RuntimeLib.bc: Debug/RuntimeLib.o + opt -dce $< -o $@ -f -q + + diff --git a/tools/lli/RuntimeLib.lc b/tools/lli/RuntimeLib.lc new file mode 100644 index 0000000000..38b28bfab1 --- /dev/null +++ b/tools/lli/RuntimeLib.lc @@ -0,0 +1,25 @@ +//===-- RuntimeLib.lc - LLVM Standard C Runtime Library -----------*- C -*-===// +// +// This file contains definitions of C functions that are useful to get LLVM +// programs up and running. This library of functions is automatically linked +// into programs loaded into LLI. +// +// This file is compiled by the LLVM port of GCC to get LLVM code. +// +//===----------------------------------------------------------------------===// + +// Prototypes for functions exported by LLI directly. +void exit(int Code); +int putchar(int); + +// The puts() function writes the string pointed to by s, followed by a +// NEWLINE character, to the standard output stream stdout. On success the +// number of characters written is returned; otherwise they return EOF. +// +int puts(const char *S) { + const char *Str = S; + while (*Str) putchar(*Str++); + putchar('\n'); + return Str+1-S; +} + |