diff --git a/libc/Interpreter/Makefile b/libc/Interpreter/Makefile index 69040a7..f374fe9 100644 --- a/libc/Interpreter/Makefile +++ b/libc/Interpreter/Makefile @@ -29,12 +29,12 @@ else ifeq ($(OSARCH), i686) ASM_ARCH := elf32 endif -CFLAGS := -fPIC -I$(INCLUDE) +CFLAGS := -fPIC -fPIE -I$(INCLUDE) build: $(OBJECT_NAME) $(OBJECT_NAME): $(OBJ) - $(CC) -nostdlib -static -fPIC -fPIE -Wl,-soname,$(SO_NAME) $(SYSROOT) $(OBJ) -o $(OUTPUT_DIR)$@ + $(CC) -static -fPIC -fPIE -Wl,-soname,$(SO_NAME) $(SYSROOT) $(OBJ) -o $(OUTPUT_DIR)$@ $(OBJDUMP) -d $(OUTPUT_DIR)$@ > file_dump.map %.o: %.c diff --git a/libc/Interpreter/ld.c b/libc/Interpreter/ld.c index 51de090..06d3561 100644 --- a/libc/Interpreter/ld.c +++ b/libc/Interpreter/ld.c @@ -1,7 +1,12 @@ #include "ld.h" +/* TODO: Implement ELF interpreter. Currently it's implemented in the kernel. */ int main(int argc, char *argv[], char *envp[]) { + __asm__ __volatile__("syscall" + : + : "a"(1), "D"('H'), "S"(0) + : "rcx", "r11", "memory"); if (argc < 2) return -1;