several *.c files:
move 'extern environ' up to the location of #includes
diff --git a/coreutils/env.c b/coreutils/env.c
index f47d450..2a271f7 100644
--- a/coreutils/env.c
+++ b/coreutils/env.c
@@ -32,6 +32,7 @@
 #include "busybox.h"
 #include <errno.h>
 #include <getopt.h> /* struct option */
+extern char **environ;
 
 #if ENABLE_FEATURE_ENV_LONG_OPTIONS
 static const struct option env_long_options[] = {
@@ -49,7 +50,6 @@
 	char **ep;
 	unsigned opt;
 	llist_t *unset_env = NULL;
-	extern char **environ;
 
 	opt_complementary = "u::";
 #if ENABLE_FEATURE_ENV_LONG_OPTIONS
diff --git a/coreutils/printenv.c b/coreutils/printenv.c
index 1d41eeb..935f52d 100644
--- a/coreutils/printenv.c
+++ b/coreutils/printenv.c
@@ -12,11 +12,11 @@
 #include <string.h>
 #include <stdlib.h>
 #include "busybox.h"
+extern char **environ;
 
 int printenv_main(int argc, char **argv);
 int printenv_main(int argc, char **argv)
 {
-	extern char **environ;
 	int e = 0;
 
 	/* no variables specified, show whole env */
diff --git a/editors/awk.c b/editors/awk.c
index 9366a23..76ebe0f 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -10,6 +10,7 @@
 #include "busybox.h"
 #include "xregex.h"
 #include <math.h>
+extern char **environ;
 
 /* This is a NOEXEC applet. Be very careful! */
 
@@ -393,8 +394,6 @@
 
 /* globals */
 
-extern char **environ;
-
 static var * V[_intvarcount_];
 static chain beginseq, mainseq, endseq, *seq;
 static int nextrec, nextfile;
diff --git a/networking/inetd.c b/networking/inetd.c
index 0ba3b94..dc191a4 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -172,9 +172,11 @@
 #include <rpc/pmap_clnt.h>
 #endif
 
-#define _PATH_INETDPID  "/var/run/inetd.pid"
+extern char **environ;
 
 
+#define _PATH_INETDPID  "/var/run/inetd.pid"
+
 #define CNT_INTVL       60              /* servers in CNT_INTVL sec. */
 #define RETRYTIME       (60*10)         /* retry after bind or server fail */
 
@@ -1263,7 +1265,6 @@
 	sigset_t omask, wait_mask;
 
 #ifdef INETD_SETPROCTITLE
-	extern char **environ;
 	char **envp = environ;
 
 	Argv = argv;
diff --git a/shell/ash.c b/shell/ash.c
index 4b37f40..4417ee9 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -60,6 +60,7 @@
 #if JOBS || ENABLE_ASH_READ_NCHARS
 #include <termios.h>
 #endif
+extern char **environ;
 
 #if defined(__uClinux__)
 #error "Do not even bother, ash will not run on uClinux"
@@ -1747,7 +1748,6 @@
 
 static struct redirtab *redirlist;
 static int nullredirs;
-extern char **environ;
 static int preverrout_fd;   /* save fd2 before print debug if xflag is set. */
 
 #define VTABSIZE 39