summaryrefslogtreecommitdiff
path: root/libguile/loader.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-07-04 14:32:45 +0200
committerAndy Wingo <wingo@pobox.com>2018-07-20 11:42:13 +0200
commite95f15c932650783f34253e396216c66050905f0 (patch)
treeef728f2fedc0c7abf5a3cb776ff343037dcebb20 /libguile/loader.h
parent80ba0e2cb110983eeafe66a0ea0bf5dba8e25226 (diff)
downloadguile-e95f15c932650783f34253e396216c66050905f0.tar.gz
Add support for reading ELF symbol table from C
* libguile/loader.c (scm_i_program_address_range): New function. Currently unused, will wire up once we correct the compiler to emit symbols whose values are relative to the base addr. Will be used by JIT so it needs to be fast. (register_elf): Rework to be less verbose, and record symtab/strtab. (struct mapped_elf_image): Add symtab and strtab members. (load_thunk_from_memory, process_dynamic_segment): Parse out DT_SYMTAB and DT_STRTAB. (Elf_Sym): New definition.
Diffstat (limited to 'libguile/loader.h')
-rw-r--r--libguile/loader.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/libguile/loader.h b/libguile/loader.h
index d9f632d1e..54ec9f798 100644
--- a/libguile/loader.h
+++ b/libguile/loader.h
@@ -55,8 +55,11 @@
SCM_API SCM scm_load_thunk_from_file (SCM filename);
SCM_API SCM scm_load_thunk_from_memory (SCM bv);
-SCM_INTERNAL const uint8_t *
-scm_find_slot_map_unlocked (const uint32_t *ip);
+SCM_INTERNAL const uint8_t * scm_find_slot_map_unlocked (const uint32_t *ip);
+
+SCM_INTERNAL int scm_i_program_address_range (const char *code,
+ const char **start,
+ const char **end);
SCM_INTERNAL void scm_bootstrap_loader (void);
SCM_INTERNAL void scm_init_loader (void);