mirror of
https://github.com/Fennix-Project/Userspace.git
synced 2025-05-28 15:34:26 +00:00
ELF Interpreter stub
This commit is contained in:
parent
40410cba41
commit
6eb4bdd6f5
@ -29,12 +29,12 @@ else ifeq ($(OSARCH), i686)
|
|||||||
ASM_ARCH := elf32
|
ASM_ARCH := elf32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS := -fPIC -I$(INCLUDE)
|
CFLAGS := -fPIC -fPIE -I$(INCLUDE)
|
||||||
|
|
||||||
build: $(OBJECT_NAME)
|
build: $(OBJECT_NAME)
|
||||||
|
|
||||||
$(OBJECT_NAME): $(OBJ)
|
$(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
|
$(OBJDUMP) -d $(OUTPUT_DIR)$@ > file_dump.map
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
#include "ld.h"
|
#include "ld.h"
|
||||||
|
|
||||||
|
/* TODO: Implement ELF interpreter. Currently it's implemented in the kernel. */
|
||||||
int main(int argc, char *argv[], char *envp[])
|
int main(int argc, char *argv[], char *envp[])
|
||||||
{
|
{
|
||||||
|
__asm__ __volatile__("syscall"
|
||||||
|
:
|
||||||
|
: "a"(1), "D"('H'), "S"(0)
|
||||||
|
: "rcx", "r11", "memory");
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user