From ac05903cb194511795d767f1eaa6714265c51be9 Mon Sep 17 00:00:00 2001 From: Mustafa Quraish Date: Sat, 5 Feb 2022 05:50:06 -0500 Subject: Add `lseek` and `mmap` syscall info --- src/builtins.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/builtins.c b/src/builtins.c index 541e628..58e907e 100644 --- a/src/builtins.c +++ b/src/builtins.c @@ -9,6 +9,7 @@ #include #include #include +#include #define MAX_CUSTOM_BUILTIN_COUNT 128 static Node *custom_builtins[MAX_CUSTOM_BUILTIN_COUNT]; @@ -24,7 +25,7 @@ static void push_syscall_builtin(char *name, int num_args) { Node *node; node = Node_new(AST_BUILTIN); node->func.name = name; - node->func.return_type = type_new(TYPE_INT); + node->func.return_type = type_new(TYPE_ANY); node->func.num_args = num_args+1; node->func.args = (Variable *)calloc(sizeof(Variable), num_args+1); node->func.args[0] = (Variable){"syscall_num", type_new(TYPE_INT), 0}; @@ -150,10 +151,12 @@ void push_posix_constants() PUSH_SYS_(write); PUSH_SYS_(exit); PUSH_SYS_(open); + PUSH_SYS_(lseek); PUSH_SYS_(openat); PUSH_SYS_(close); PUSH_SYS_(fork); PUSH_SYS_(wait4); + PUSH_SYS_(mmap); PUSH(SEEK_SET); PUSH(SEEK_CUR); @@ -166,4 +169,16 @@ void push_posix_constants() PUSH(O_EXCL); PUSH(O_TRUNC); PUSH(AT_FDCWD); + + PUSH(PROT_READ); + PUSH(PROT_WRITE); + PUSH(PROT_EXEC); + PUSH(PROT_NONE); + + PUSH(MAP_SHARED); + PUSH(MAP_PRIVATE); + PUSH(MAP_ANONYMOUS); + PUSH(MAP_FIXED); + + push_constant("MAP_FAILED", (i64)MAP_FAILED); } \ No newline at end of file -- cgit v1.2.3