From 2830e140d5c70d34cfbe32ad18023de6db014926 Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Sat, 26 Aug 2017 21:53:36 -0700
Subject: [PATCH] Print more info for dynamic space lossage

If we get dynamic space lossage, print out the actual address and the
expected addresses for the dynamic space so we can see what happened.
This is really useful if you change the dynamic space address but
didn't update everything correctly.
---
 src/lisp/coreparse.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/lisp/coreparse.c b/src/lisp/coreparse.c
index efa53c236..f150c5b83 100644
--- a/src/lisp/coreparse.c
+++ b/src/lisp/coreparse.c
@@ -57,8 +57,13 @@ process_directory(int fd, long *ptr, int count)
 	switch (id) {
 	  case DYNAMIC_SPACE_ID:
 	      if (addr != (os_vm_address_t) dynamic_0_space
-		  && addr != (os_vm_address_t) dynamic_1_space)
-		  printf("Strange ... dynamic space lossage.\n");
+		  && addr != (os_vm_address_t) dynamic_1_space) {
+                  printf("Strange ... dynamic space lossage: addr = %p, expected %p or %p\n",
+                         addr,
+                         (os_vm_address_t) dynamic_0_space,
+                         (os_vm_address_t) dynamic_1_space);
+              }
+              
 	      current_dynamic_space = (lispobj *) addr;
 #if defined(ibmrt) || defined(i386) || defined(__x86_64)
 	      SetSymbolValue(ALLOCATION_POINTER, (lispobj) free_pointer);
-- 
GitLab