diff options
| author | Ada Christine <adachristine18@gmail.com> | 2024-02-24 00:28:22 +0000 |
|---|---|---|
| committer | Ada Christine <adachristine18@gmail.com> | 2024-02-24 00:28:22 +0000 |
| commit | cadd8266b02035065559ddd27aa0b37051bf16e9 (patch) | |
| tree | fe7ab11ec3175769e8799412b1c74873e9b802a9 /kjarna_runtime/reloc_x86_64.c | |
| parent | a8a62bdba61177342ae38274c8196bc7a7c46fa0 (diff) | |
remove dead file, rename main
Diffstat (limited to 'kjarna_runtime/reloc_x86_64.c')
| -rw-r--r-- | kjarna_runtime/reloc_x86_64.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/kjarna_runtime/reloc_x86_64.c b/kjarna_runtime/reloc_x86_64.c deleted file mode 100644 index 63dc6e7..0000000 --- a/kjarna_runtime/reloc_x86_64.c +++ /dev/null @@ -1,42 +0,0 @@ -#include <kc.h> - -#define STARTCODE __attribute__((section(".text.start"))) - -STARTCODE -static void do_rela(void *base, Elf64_Rela *rela) -{ - union - { - Elf_Byte word8; - Elf64_Half word16; - Elf64_Word word32; - Elf64_Xword word64; - } - *fixup; - - switch (ELF64_R_TYPE(rela->r_info)) - { - case R_X86_64_JUMP_SLOT: - fixup = (void *)(rela->r_offset + (uintptr_t)base); - fixup->word64 += (uintptr_t)base; - break; - case R_X86_64_RELATIVE: - fixup = (void *)(rela->r_offset + (uintptr_t)base); - fixup->word64 = (rela->r_addend + (uintptr_t)base); - break; - default: - break; - } -} - -STARTCODE -void kc_reloc(void *base, Elf64_Rela *entries, size_t size, size_t entsize) -{ - // perform the actual relocation - - for (size_t i = 0; entries && (i < size / entsize); i++) - { - do_rela(base, &entries[i]); - } -} - |
