#include "runtime.h"
struct ndir_entry {
-#ifndef alpha
- long identifier;
- long nwords;
- long data_page;
- long address;
- long page_count;
+#ifndef LISP_FEATURE_ALPHA
+ sword_t identifier;
+ sword_t nwords;
+ sword_t data_page;
+ sword_t address;
+ sword_t page_count;
#else
u32 identifier;
u32 nwords;
#endif
};
-extern lispobj load_core_file(char *file);
+/* Tri-state flag to determine whether we attempt to mark pages
+ * as targets for virtual memory deduplication (ala MADV_MERGEABLE
+ * on Linux).
+ *
+ * 1: Yes
+ * 0: No
+ * -1: default, yes for compressed cores, no otherwise.
+ */
+extern int merge_core_pages;
+
+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