aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pk/elf.c4
-rw-r--r--pk/elf.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/pk/elf.c b/pk/elf.c
index 2740319..ba2dd1d 100644
--- a/pk/elf.c
+++ b/pk/elf.c
@@ -29,6 +29,10 @@ void load_elf(const char* fn, elf_info* info)
assert(IS_ELF32(eh));
#endif
+#ifndef __riscv_compressed
+ assert(!(eh.e_flags & EF_RISCV_RVC));
+#endif
+
uintptr_t min_vaddr = -1;
size_t phdr_size = eh.e_phnum * sizeof(Elf_Phdr);
if (phdr_size > info->phdr_size)
diff --git a/pk/elf.h b/pk/elf.h
index df876e9..c3fa1c3 100644
--- a/pk/elf.h
+++ b/pk/elf.h
@@ -23,6 +23,8 @@
#define ET_EXEC 2
#define ET_DYN 3
+#define EF_RISCV_RVC 1
+
#define PT_LOAD 1
#define AT_NULL 0