diff --git a/src/xpdev/gen_defs.h b/src/xpdev/gen_defs.h
index 615f99d6349b9d1f15aff462fd038c273e788ed3..61606a9a2e67789cc9a6092738f0388229174684 100644
--- a/src/xpdev/gen_defs.h
+++ b/src/xpdev/gen_defs.h
@@ -252,7 +252,7 @@ typedef int32_t         time32_t;
 #    define PRIuOFF     "lu"
 #  endif
 #elif defined(__linux__) || defined(__sun__)
-#  if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS==64)
+#  if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS==64)) || defined(__LP64__)
 #    define PRIdOFF     PRId64
 #    define PRIuOFF     PRIu64
 #  else