From ec4aee35de3446713c6754641cdad82adc011204 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Tue, 15 Mar 2022 16:29:24 +0000 Subject: infrastructure for dynamic symbol resolution --- kc/entry_x86_64.S | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'kc/entry_x86_64.S') diff --git a/kc/entry_x86_64.S b/kc/entry_x86_64.S index abea8ac..8431044 100644 --- a/kc/entry_x86_64.S +++ b/kc/entry_x86_64.S @@ -1,19 +1,30 @@ +#include + .section .text.start -.extern kc_reloc -.extern kc_main -.extern _DYNAMIC -.extern kc_image_base .hidden kc_entry .global kc_entry .type kc_entry, @function kc_entry: push %rdi - lea _DYNAMIC(%rip), %rdi - lea kc_image_base(%rip), %rsi - call kc_reloc + push %rsi + lea kc_image_base(%rip), %rdi + lea _DYNAMIC(%rip), %rsi + call kc_dynamic_init + pop %rsi pop %rdi call kc_main ret .size kc_entry, . - kc_entry - + +.section .text + +.hidden kc_resolve_symbol +.global kc_resolve_symbol +.type kc_resolve_symbol, @function +kc_resolve_symbol: + cli + hlt + jmp kc_resolve_symbol +.size kc_resolve_symbol, . - kc_resolve_symbol + -- cgit v1.3.1-1-g115d