diff --git a/debianutils/mktemp.c b/debianutils/mktemp.c
index 7ed6245..b011fc1 100644
--- a/debianutils/mktemp.c
+++ b/debianutils/mktemp.c
@@ -12,7 +12,7 @@
 #include "libbb.h"
 
 int mktemp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int mktemp_main(int argc, char **argv)
+int mktemp_main(int argc ATTRIBUTE_UNUSED, char **argv)
 {
 	// -d      Make a directory instead of a file
 	// -q      Fail silently if an error occurs [bbox: ignored]
diff --git a/debianutils/pipe_progress.c b/debianutils/pipe_progress.c
index 4bfdf6a..cbdd38f 100644
--- a/debianutils/pipe_progress.c
+++ b/debianutils/pipe_progress.c
@@ -15,7 +15,7 @@
  * Activity is indicated by a '.' to stderr
  */
 int pipe_progress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int pipe_progress_main(int argc, char **argv)
+int pipe_progress_main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
 {
 	RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE);
 	time_t t = time(NULL);
diff --git a/debianutils/run_parts.c b/debianutils/run_parts.c
index 20f8b3a..2adad02 100644
--- a/debianutils/run_parts.c
+++ b/debianutils/run_parts.c
@@ -79,7 +79,7 @@
 	return (option_mask32 & OPT_r) ? -r : r;
 }
 
-static int act(const char *file, struct stat *statbuf, void *args, int depth)
+static int act(const char *file, struct stat *statbuf, void *args ATTRIBUTE_UNUSED, int depth)
 {
 	if (depth == 1)
 		return TRUE;
@@ -113,7 +113,7 @@
 #endif
 
 int run_parts_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int run_parts_main(int argc, char **argv)
+int run_parts_main(int argc ATTRIBUTE_UNUSED, char **argv)
 {
 	const char *umask_p = "22";
 	llist_t *arg_list = NULL;
