summaryrefslogtreecommitdiff
path: root/kernel/elf.c
diff options
context:
space:
mode:
authorNathan Lee <me@nwlee.tech>2026-07-12 12:42:31 -0500
committerNathan Lee <me@nwlee.tech>2026-07-12 12:45:05 -0500
commit24fdac29fb8a1c7766869b05e7a17b2c4cc98ce1 (patch)
tree6fddf53527e7ab52e089b620bcdbcba5fa67daa3 /kernel/elf.c
parent5d9942d70ca61af4d12cd2a531a190c98052c9c4 (diff)
create elf.h
The ELF parser needs more work, there are more structs to be added. memcpy was refactored from mem.h into common.h endianness conversions were standardized in types.h
Diffstat (limited to 'kernel/elf.c')
-rw-r--r--kernel/elf.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/elf.c b/kernel/elf.c
new file mode 100644
index 0000000..f1ceb2d
--- /dev/null
+++ b/kernel/elf.c
@@ -0,0 +1,12 @@
+#include <elf.h>
+#include <common.h>
+
+int elf_chk_header(struct elf_header *header) {
+ uint32_t magic_chk;
+ memcpy(&magic_chk, header->e_ident, sizeof(uint32_t));
+ if (magic_chk != ltohi(ELF_MAGIC_LE)) {
+ return -1;
+ }
+
+ return 0;
+}