diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c
index 81203c9f5ac9dbf38da09e1ff55b29846c83f514..72e79ce045248e1c5644f13cf6dd0dd0db60b921 100644
--- a/src/backend/replication/basebackup.c
+++ b/src/backend/replication/basebackup.c
@@ -867,7 +867,7 @@ _tarWriteHeader(const char *filename, const char *linktarget,
 	}
 
 	/* Mode 8 */
-	sprintf(&h[100], "%07o ", statbuf->st_mode);
+	sprintf(&h[100], "%07o ", (int) statbuf->st_mode);
 
 	/* User ID 8 */
 	sprintf(&h[108], "%07o ", statbuf->st_uid);
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index bf88726f326a0a6d83fb533df9105fffb6c56305..4cb430b7e89b19e7017c0fe483e16d775fc9a32d 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -1103,7 +1103,7 @@ BaseBackup(void)
 		if (r != bgchild)
 		{
 			fprintf(stderr, _("%s: child %i died, expected %i\n"),
-					progname, r, bgchild);
+					progname, r, (int) bgchild);
 			disconnect_and_exit(1);
 		}
 		if (!WIFEXITED(status))