--- ./makedumpfile.h.org	2006-09-06 15:42:26.000000000 +0900
+++ ./makedumpfile.h	2006-09-06 15:54:26.000000000 +0900
@@ -135,6 +135,9 @@ isAnon(unsigned long mapping)
 #define STRNEQ(A, B)	(A && B && \
 	(strncmp((char *)(A), (char *)(B), strlen((char *)(B))) == 0))
 
+#define UINT(ADDR)	*((unsigned int *)(ADDR))
+#define ULONG(ADDR)	*((unsigned long *)(ADDR))
+
 /*
  * kernel version
  */
--- ./makedumpfile.c.org	2006-09-06 15:44:49.000000000 +0900
+++ ./makedumpfile.c	2006-09-06 15:48:28.000000000 +0900
@@ -1305,8 +1305,8 @@ create_dump_bitmap(struct DumpInfo *info
 	unsigned int i, pfn, remain_size;
 	unsigned long addr_mem_map, paddr;
 	unsigned char *page_cache = NULL, *buf = NULL, *pcache;
-	unsigned int *_count;
-	unsigned long *flags, *mapping;
+	unsigned int _count;
+	unsigned long flags, mapping;
 	struct cache_data bm1, bm2;
 	off_t offset_page;
 	const off_t failed = (off_t)-1;
@@ -1427,31 +1427,31 @@ create_dump_bitmap(struct DumpInfo *info
 				goto out;
 		}
 		pcache = page_cache + ((pfn%PGMM_CACHED) * info->size_pagedesc);
-		flags = (unsigned long *)(pcache + info->offset_page_flags);
-		_count = (unsigned int *)(pcache + info->offset_page__count);
-		mapping = (unsigned long *)(pcache + info->offset_page_mapping);
+		flags   = ULONG(pcache + info->offset_page_flags);
+		_count  = UINT(pcache + info->offset_page__count);
+		mapping = ULONG(pcache + info->offset_page_mapping);
 
 		/*
 		 * Exclude the cache page without the private page.
 		 */
 		if ((info->dump_level & DL_EXCLUDE_CACHE)
-		    && (isLRU(*flags) || isSwapCache(*flags))
-		    && !isPrivate(*flags) && !isAnon(*mapping))
+		    && (isLRU(flags) || isSwapCache(flags))
+		    && !isPrivate(flags) && !isAnon(mapping))
 			val = 0;
 
 		/*
 		 * Exclude the cache page with the private page.
 		 */
 		else if ((info->dump_level & DL_EXCLUDE_CACHE_PRI)
-		    && (isLRU(*flags) || isSwapCache(*flags))
-		    && !isAnon(*mapping))
+		    && (isLRU(flags) || isSwapCache(flags))
+		    && !isAnon(mapping))
 			val = 0;
 
 		/*
 		 * Exclude the data page of the user process.
 		 */
 		else if ((info->dump_level & DL_EXCLUDE_USER_DATA)
-		    && isAnon(*mapping))
+		    && isAnon(mapping))
 			val = 0;
 
 		/*
