X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fcore.h;h=57df1cbc8c878932094f8b2940a7888bbe506641;hb=3a0f3612dc2bbf3e4e8e7395bcbbf8cd1791b963;hp=f5b223e82ef62da5b97c77cccffd33c753264a09;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/runtime/core.h b/src/runtime/core.h index f5b223e..57df1cb 100644 --- a/src/runtime/core.h +++ b/src/runtime/core.h @@ -12,36 +12,33 @@ #ifndef _CORE_H_ #define _CORE_H_ +#include "sbcl.h" #include "runtime.h" -#define CORE_PAGESIZE OS_VM_DEFAULT_PAGESIZE -#define CORE_END 3840 -#define CORE_NDIRECTORY 3861 -#define CORE_VALIDATE 3845 -#define CORE_VERSION 3860 -#define CORE_MACHINE_STATE 3862 -#define CORE_INITIAL_FUNCTION 3863 - -#define DYNAMIC_SPACE_ID (1) -#define STATIC_SPACE_ID (2) -#define READ_ONLY_SPACE_ID (3) - struct ndir_entry { -#ifndef alpha - long identifier; - long nwords; - long data_page; - long address; - long page_count; +#ifndef LISP_FEATURE_ALPHA + long identifier; + long nwords; + long data_page; + long address; + long page_count; #else - u32 identifier; - u32 nwords; - u32 data_page; - u32 address; - u32 page_count; + u32 identifier; + u32 nwords; + u32 data_page; + u32 address; + u32 page_count; #endif }; -extern lispobj load_core_file(char *file); +extern lispobj load_core_file(char *file, os_vm_offset_t offset); +extern os_vm_offset_t search_for_embedded_core(char *file); + +/* arbitrary string identifying this build, embedded in .core files to + * prevent people mismatching a runtime built e.g. with :SB-SHOW + * against a .core built without :SB-SHOW (or against various grosser + * mismatches, e.g. a .core built with an old version of the code + * against a runtime with patches which add new C code) */ +extern unsigned char build_id[]; #endif