diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common.make | 10 | ||||
-rwxr-xr-x | src/tools/makeinitrd/makeinitrd | bin | 16457 -> 16358 bytes | |||
-rw-r--r-- | src/user/app/init/Makefile | 2 | ||||
-rw-r--r-- | src/user/app/init/main.c | 24 | ||||
-rw-r--r-- | src/user/app/init/main.cpp | 23 | ||||
-rw-r--r-- | src/user/app/prime/Makefile | 2 | ||||
-rw-r--r-- | src/user/app/prime/main.c | 19 | ||||
-rw-r--r-- | src/user/app/prime/main.cpp | 18 | ||||
-rw-r--r-- | src/user/lib/fwik/main.cpp | 2 | ||||
-rw-r--r-- | src/user/lib/libc/std/readline.c | 2 |
10 files changed, 52 insertions, 50 deletions
diff --git a/src/common.make b/src/common.make index 96a1a7f..71cea37 100644 --- a/src/common.make +++ b/src/common.make @@ -1,15 +1,15 @@ +.PHONY: clean, mrproper + # ============== ENVIRONMENT VARIABLES CC = i586-elf-gcc -CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Werror -g -Wno-error=main +CFLAGS = -m32 -nostdlib -nostdinc -nostartfiles -nodefaultlibs -fno-builtin -ffreestanding -fno-stack-protector -Wall -Werror -g -Wno-error=main CCFLAGS = CXX = i586-elf-g++ -CXXFLAGS = -fno-rtti -fno-exceptions -Wall -Werror -Wno-write-strings -Wno-main -Wno-error=unused-parameter -Wno-error=main -g +CXXFLAGS = -fno-rtti -fno-exceptions -Wno-write-strings -Wno-main -Wno-error=unused-parameter LD = i586-elf-ld -.PHONY: clean, mrproper - -LDFLAGS = -oformat=elf32-i386 +LDFLAGS = -oformat=elf32-i386 -m elf_i386 ASM = nasm AFLAGS = -f elf diff --git a/src/tools/makeinitrd/makeinitrd b/src/tools/makeinitrd/makeinitrd Binary files differindex afb042c..6ad60bb 100755 --- a/src/tools/makeinitrd/makeinitrd +++ b/src/tools/makeinitrd/makeinitrd diff --git a/src/user/app/init/Makefile b/src/user/app/init/Makefile index 6ab7cf8..3486f0d 100644 --- a/src/user/app/init/Makefile +++ b/src/user/app/init/Makefile @@ -1,6 +1,6 @@ Obj = main.o Out = init.elf -include $(SrcPath)/user/app/fwik.make +include $(SrcPath)/user/app/common.make LDFLAGS += -Map init.map diff --git a/src/user/app/init/main.c b/src/user/app/init/main.c new file mode 100644 index 0000000..92fb8f7 --- /dev/null +++ b/src/user/app/init/main.c @@ -0,0 +1,24 @@ +#include <tce/syscall.h> +#include <stdio.h> + +int main(char **args) { + FILE home_term = open("/.ui/home", 0); + int i, pid; + if (home_term < 0) return -1; + + printf("(init) Trivial/Computing Environment says hello. Press super to go home.\n"); + + for (i = 0; args[i]; i++) { + if (i == 0) continue; + printf("(init) Spawning %s...\n", args[i]); + + pid = run(args[i], 0, home_term); + if (pid < 0) { + printf("(init) Error. Sorry.\n"); + } else { + waitpid(pid, 1); + } + } + printf("(init) Goodbye.\n"); + return 0; +} diff --git a/src/user/app/init/main.cpp b/src/user/app/init/main.cpp deleted file mode 100644 index 759d804..0000000 --- a/src/user/app/init/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <tce/syscall.h> -#include <IO/IOStream.h> -#include <String.h> - -int Main(String *args) { - FILE home_term = libc::open("/.ui/home", 0); - if (home_term < 0) return -1; - - stdio << "(init) Trivial/Computing Environment says hello. Press super to go home.\n"; - - for (int i = 0; args[i]; i++) { - if (i == 0) continue; - stdio.printf("(init) Spawning %s...\n", args[i].c_str()); - int pid = libc::run(args[i].c_str(), 0, home_term); - if (pid < 0) { - stdio << "(init) Error. Sorry.\n"; - } else { - libc::waitpid(pid, 1); - } - } - stdio << "(init) Goodbye.\n"; - return 0; -} diff --git a/src/user/app/prime/Makefile b/src/user/app/prime/Makefile index 0e86c31..3a524e9 100644 --- a/src/user/app/prime/Makefile +++ b/src/user/app/prime/Makefile @@ -1,6 +1,6 @@ Obj = main.o Out = prime.elf -include $(SrcPath)/user/app/fwik.make +include $(SrcPath)/user/app/common.make LDFLAGS += -Map prime.map diff --git a/src/user/app/prime/main.c b/src/user/app/prime/main.c new file mode 100644 index 0000000..d3ebb7d --- /dev/null +++ b/src/user/app/prime/main.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +int is_prime(int i) { + int j; + for (j = 2; j*j <= i; j++) { + if (i % j == 0) return 0; + } + return 1; +} + +int main(char **args) { + int i; + for (i = 2; i < 1000000; i++) { + if (is_prime(i)) printf("%d\t", i); + } + printf("\nThat's all prime numbers for today.\n"); + + return 0; +} diff --git a/src/user/app/prime/main.cpp b/src/user/app/prime/main.cpp deleted file mode 100644 index be8780f..0000000 --- a/src/user/app/prime/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <IO/IOStream.h> -#include <String.h> - -bool is_prime(int i) { - for (int j = 2; j*j <= i; j++) { - if (i % j == 0) return false; - } - return true; -} - -int Main(String *args) { - for (int i = 2; i < 1000000; i++) { - if (is_prime(i)) stdio.printf("%d\t", i); - } - stdio.printf("\nThat's all prime numbers for today.\n"); - - return 0; -} diff --git a/src/user/lib/fwik/main.cpp b/src/user/lib/fwik/main.cpp index e26cb46..e7c40c4 100644 --- a/src/user/lib/fwik/main.cpp +++ b/src/user/lib/fwik/main.cpp @@ -20,7 +20,7 @@ extern "C" int main(char **args) { String s_args[argc+1]; for (int i = 0; i < argc; i++) s_args[i] = args[i]; - Main(s_args); + return Main(s_args); } diff --git a/src/user/lib/libc/std/readline.c b/src/user/lib/libc/std/readline.c index 5cd9119..50e4f0d 100644 --- a/src/user/lib/libc/std/readline.c +++ b/src/user/lib/libc/std/readline.c @@ -149,7 +149,7 @@ char *freadline(FILE f, readline_history *h) { i = h->n - 1; while (h->str[i] != str) { if (i == 0) { - fprint(f, "READLINE FAIL"); + fprint(f, "readline: internal error"); return 0; } i--; |