add -fvisibility=hidden to CC flags, mark XXX_main functions
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so

diff --git a/selinux/chcon.c b/selinux/chcon.c
index 3609880..f00e242 100644
--- a/selinux/chcon.c
+++ b/selinux/chcon.c
@@ -120,7 +120,7 @@
 	;
 #endif
 
-int chcon_main(int argc, char **argv);
+int chcon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chcon_main(int argc, char **argv)
 {
 	char *reference_file;
diff --git a/selinux/getenforce.c b/selinux/getenforce.c
index 62b4263..e11e78e 100644
--- a/selinux/getenforce.c
+++ b/selinux/getenforce.c
@@ -8,7 +8,7 @@
 
 #include "libbb.h"
 
-int getenforce_main(int argc, char **argv);
+int getenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int getenforce_main(int argc, char **argv)
 {
 	int rc;
diff --git a/selinux/getsebool.c b/selinux/getsebool.c
index 598a51c..ea080d4 100644
--- a/selinux/getsebool.c
+++ b/selinux/getsebool.c
@@ -8,7 +8,7 @@
 
 #include "libbb.h"
 
-int getsebool_main(int argc, char **argv);
+int getsebool_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int getsebool_main(int argc, char **argv)
 {
 	int i, rc = 0, active, pending, len = 0;
diff --git a/selinux/load_policy.c b/selinux/load_policy.c
index add5c66..f9aa49d 100644
--- a/selinux/load_policy.c
+++ b/selinux/load_policy.c
@@ -4,7 +4,7 @@
  */
 #include "libbb.h"
 
-int load_policy_main(int argc, char **argv);
+int load_policy_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int load_policy_main(int argc, char **argv)
 {
 	int rc;
diff --git a/selinux/matchpathcon.c b/selinux/matchpathcon.c
index bb7099e..6de68bc 100644
--- a/selinux/matchpathcon.c
+++ b/selinux/matchpathcon.c
@@ -29,7 +29,7 @@
 #define OPT_PREFIX      (1<<3)  /* -p */
 #define OPT_VERIFY      (1<<4)  /* -V */
 
-int matchpathcon_main(int argc, char **argv);
+int matchpathcon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int matchpathcon_main(int argc, char **argv)
 {
 	int error = 0;
diff --git a/selinux/runcon.c b/selinux/runcon.c
index 37ac5d1..89a4b05 100644
--- a/selinux/runcon.c
+++ b/selinux/runcon.c
@@ -87,7 +87,7 @@
 #define OPTS_HELP	(1<<5)	/* h */
 #define OPTS_CONTEXT_COMPONENT		(OPTS_ROLE | OPTS_TYPE | OPTS_USER | OPTS_RANGE)
 
-int runcon_main(int argc, char **argv);
+int runcon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int runcon_main(int argc, char **argv)
 {
 	char *role = NULL;
diff --git a/selinux/selinuxenabled.c b/selinux/selinuxenabled.c
index 8a9c7cd..114d2b6 100644
--- a/selinux/selinuxenabled.c
+++ b/selinux/selinuxenabled.c
@@ -7,7 +7,7 @@
  */
 #include "libbb.h"
 
-int selinuxenabled_main(int argc, char **argv);
+int selinuxenabled_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int selinuxenabled_main(int argc, char **argv)
 {
 	return !is_selinux_enabled();
diff --git a/selinux/setenforce.c b/selinux/setenforce.c
index 59b1b0f..198324c 100644
--- a/selinux/setenforce.c
+++ b/selinux/setenforce.c
@@ -19,7 +19,7 @@
 	NULL,
 };
 
-int setenforce_main(int argc, char **argv);
+int setenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setenforce_main(int argc, char **argv)
 {
 	int i, rc;
diff --git a/selinux/setfiles.c b/selinux/setfiles.c
index 5ae482e..905333f 100644
--- a/selinux/setfiles.c
+++ b/selinux/setfiles.c
@@ -486,7 +486,7 @@
 	goto out;
 }
 
-int setfiles_main(int argc, char **argv);
+int setfiles_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setfiles_main(int argc, char **argv)
 {
 	struct stat sb;