Add support for building a runtime library for LLI
authorChris Lattner <sabre@nondot.org>
Wed, 24 Oct 2001 19:52:41 +0000 (19:52 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 24 Oct 2001 19:52:41 +0000 (19:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@983 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/Makefile
tools/lli/Makefile
tools/lli/RuntimeLib.lc [new file with mode: 0644]

index bc5578c0a2368d2362dc411386e7a6f6c027066a..b1b936d3bf0ba92e6f88b269fe17e44177efcf40 100644 (file)
@@ -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
+
+
index bc5578c0a2368d2362dc411386e7a6f6c027066a..b1b936d3bf0ba92e6f88b269fe17e44177efcf40 100644 (file)
@@ -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 (file)
index 0000000..38b28bf
--- /dev/null
@@ -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;
+}
+