diff --git a/src/common/bitstring.c b/src/common/bitstring.c
index 973185b77f6eae8488a58e8c565349ed52e650ab..8ca297c36624c9707b702a310f1b518cfca48316 100644
--- a/src/common/bitstring.c
+++ b/src/common/bitstring.c
@@ -1006,23 +1006,10 @@ bit_pick_cnt(bitstr_t *b, bitoff_t nbits)
 	return new;
 }
 
-/*
- * XXX the relationship between stdint types and "unsigned [long] long"
- * types is architecture/compiler dependent, so this may have to be tweaked.
- */
-#ifdef	USE_64BIT_BITSTR
-#define BITSTR_RANGE_FMT	"%"PRIu64"-%"PRIu64","
-#define BITSTR_SINGLE_FMT	"%"PRIu64","
-#else
-#define BITSTR_RANGE_FMT	"%u-%u,"
-#define BITSTR_SINGLE_FMT	"%u,"
-#endif
-
 /*
  * Convert to range string format, e.g. 0-5,42
  */
-char *
-bit_fmt(char *str, int32_t len, bitstr_t *b)
+char *bit_fmt(char *str, int32_t len, bitstr_t *b)
 {
 	int32_t count = 0, ret, word;
 	bitoff_t start, bit;
@@ -1047,11 +1034,12 @@ bit_fmt(char *str, int32_t len, bitstr_t *b)
 			if (bit == start)	/* add single bit position */
 				ret = snprintf(str+strlen(str),
 				               len-strlen(str),
-				               BITSTR_SINGLE_FMT, start);
+				               "%"BITSTR_FMT",", start);
 			else 			/* add bit position range */
 				ret = snprintf(str+strlen(str),
 				               len-strlen(str),
-				               BITSTR_RANGE_FMT, start, bit);
+				               "%"BITSTR_FMT"-%"BITSTR_FMT",",
+					       start, bit);
 			assert(ret != -1);
 		}
 		bit++;
@@ -1413,11 +1401,7 @@ bit_get_pos_num(bitstr_t *b, bitoff_t pos)
 	assert(pos <= bit_cnt);
 
 	if (!bit_test(b, pos)) {
-#ifdef	USE_64BIT_BITSTR
-		error("bit %"PRIu64" not set", pos);
-#else
-		error("bit %d not set", pos);
-#endif
+		error("bit %"BITSTR_FMT" not set", pos);
 		return cnt;
 	}
 	for (bit = 0; bit <= pos; bit++) {
diff --git a/src/common/bitstring.h b/src/common/bitstring.h
index a8dda70d8fdb6840c5897ea3e4a1e78e0e1837d2..56d1ab888490764901a72c1504dfaffad0e9c7af 100644
--- a/src/common/bitstring.h
+++ b/src/common/bitstring.h
@@ -59,6 +59,8 @@
 
 #include <inttypes.h>
 
+#define USE_64BIT_BITSTR
+
 #define BITSTR_SHIFT_WORD8	3
 #define BITSTR_SHIFT_WORD32	5
 #define BITSTR_SHIFT_WORD64	6
@@ -70,10 +72,12 @@
 typedef int64_t bitstr_t;
 #define BITSTR_SHIFT 		BITSTR_SHIFT_WORD64
 #define BITSTR_MAXVAL           0xffffffffffffffff
+#define BITSTR_FMT		PRId64
 #else
 typedef int32_t bitstr_t;
 #define BITSTR_SHIFT 		BITSTR_SHIFT_WORD32
 #define BITSTR_MAXVAL           0xffffffff
+#define BITSTR_FMT		PRId32
 #endif
 
 typedef bitstr_t bitoff_t;
diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c
index 591bf5028b69fbbd771b8689f8a99f794b3f297e..b6b7eafc74da7f42984209e8eae5be8fc8235dd4 100644
--- a/src/plugins/task/affinity/dist_tasks.c
+++ b/src/plugins/task/affinity/dist_tasks.c
@@ -1248,9 +1248,9 @@ static bitstr_t *_lllp_map_abstract_mask(bitstr_t *bitmask)
 			if (bit < bit_size(newmask))
 				bit_set(newmask, bit);
 			else
-				error("_lllp_map_abstract_mask: can't go from "
-				      "%d -> %d since we only have %d bits",
-				      i, bit, bit_size(newmask));
+				error("%s: can't go from %d -> %d since we "
+				      "only have %"BITSTR_FMT" bits",
+				      __func__, i, bit, bit_size(newmask));
 		}
 	}
 	return newmask;
@@ -1308,7 +1308,7 @@ static void _lllp_generate_cpu_bind(launch_tasks_request_msg_t *req,
 	charsize += 3;				/* "0x" and trailing "," */
 	masks_len = maxtasks * charsize + 1;	/* number of masks + null */
 
-	debug3("_lllp_generate_cpu_bind %d %d %d", maxtasks, charsize,
+	debug3("%s %d %"BITSTR_FMT" %d", __func__, maxtasks, charsize,
 		masks_len);
 
 	masks_str = xmalloc(masks_len);