Fix is_linkage_table_addr in win32-os.c
authorStas Boukarev <stassats@gmail.com>
Mon, 30 Sep 2013 22:27:23 +0000 (02:27 +0400)
committerStas Boukarev <stassats@gmail.com>
Mon, 30 Sep 2013 22:28:18 +0000 (02:28 +0400)
The aptly misnamed function in_range_p doesn't actually take START and
END of the range as arguments, but START and SIZE.
change
in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_END)
to
in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_SIZE)

src/runtime/win32-os.c

index 1d5d590..d0df136 100644 (file)
@@ -997,7 +997,7 @@ in_range_p(os_vm_address_t a, lispobj sbeg, size_t slen)
 boolean
 is_linkage_table_addr(os_vm_address_t addr)
 {
-    return in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_END);
+    return in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_SIZE);
 }
 
 static boolean is_some_thread_local_addr(os_vm_address_t addr);