add -fvisibility=hidden to CC flags, mark XXX_main functions
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 11 Oct 2007 10:05:36 +0000 (10:05 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 11 Oct 2007 10:05:36 +0000 (10:05 -0000)
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so

260 files changed:
Makefile.flags
applets/applets.c
archival/ar.c
archival/bbunzip.c
archival/cpio.c
archival/dpkg.c
archival/dpkg_deb.c
archival/gzip.c
archival/rpm.c
archival/rpm2cpio.c
archival/tar.c
archival/unzip.c
console-tools/chvt.c
console-tools/clear.c
console-tools/deallocvt.c
console-tools/dumpkmap.c
console-tools/loadfont.c
console-tools/loadkmap.c
console-tools/openvt.c
console-tools/reset.c
console-tools/resize.c
console-tools/setconsole.c
console-tools/setkeycodes.c
console-tools/setlogcons.c
coreutils/basename.c
coreutils/cal.c
coreutils/cat.c
coreutils/catv.c
coreutils/chgrp.c
coreutils/chmod.c
coreutils/chown.c
coreutils/chroot.c
coreutils/cksum.c
coreutils/comm.c
coreutils/cp.c
coreutils/cut.c
coreutils/date.c
coreutils/dd.c
coreutils/df.c
coreutils/dirname.c
coreutils/dos2unix.c
coreutils/du.c
coreutils/echo.c
coreutils/env.c
coreutils/expand.c
coreutils/expr.c
coreutils/false.c
coreutils/fold.c
coreutils/head.c
coreutils/hostid.c
coreutils/id.c
coreutils/install.c
coreutils/length.c
coreutils/ln.c
coreutils/logname.c
coreutils/ls.c
coreutils/md5_sha1_sum.c
coreutils/mkdir.c
coreutils/mkfifo.c
coreutils/mknod.c
coreutils/mv.c
coreutils/nice.c
coreutils/nohup.c
coreutils/od.c
coreutils/od_bloaty.c
coreutils/printenv.c
coreutils/printf.c
coreutils/pwd.c
coreutils/readlink.c
coreutils/realpath.c
coreutils/rm.c
coreutils/rmdir.c
coreutils/seq.c
coreutils/sleep.c
coreutils/sort.c
coreutils/split.c
coreutils/stat.c
coreutils/stty.c
coreutils/sum.c
coreutils/sync.c
coreutils/tail.c
coreutils/tee.c
coreutils/touch.c
coreutils/tr.c
coreutils/true.c
coreutils/tty.c
coreutils/uname.c
coreutils/uniq.c
coreutils/usleep.c
coreutils/uudecode.c
coreutils/uuencode.c
coreutils/wc.c
coreutils/who.c
coreutils/whoami.c
coreutils/yes.c
debianutils/mktemp.c
debianutils/pipe_progress.c
debianutils/run_parts.c
debianutils/start_stop_daemon.c
debianutils/which.c
docs/new-applet-HOWTO.txt
e2fsprogs/chattr.c
e2fsprogs/fsck.c
e2fsprogs/lsattr.c
e2fsprogs/old_e2fsprogs/chattr.c
e2fsprogs/old_e2fsprogs/fsck.c
e2fsprogs/old_e2fsprogs/lsattr.c
e2fsprogs/old_e2fsprogs/tune2fs.c
editors/awk.c
editors/cmp.c
editors/diff.c
editors/ed.c
editors/patch.c
editors/sed.c
editors/vi.c
findutils/find.c
findutils/grep.c
findutils/xargs.c
include/applets.h
include/busybox.h
include/libbb.h
include/platform.h
init/halt.c
init/init.c
init/mesg.c
ipsvd/tcpudp.c
libbb/appletlib.c
loginutils/addgroup.c
loginutils/adduser.c
loginutils/chpasswd.c
loginutils/cryptpw.c
loginutils/deluser.c
loginutils/getty.c
loginutils/login.c
loginutils/passwd.c
loginutils/su.c
loginutils/sulogin.c
loginutils/vlock.c
miscutils/adjtimex.c
miscutils/bbconfig.c
miscutils/chrt.c
miscutils/crond.c
miscutils/crontab.c
miscutils/dc.c
miscutils/devfsd.c
miscutils/eject.c
miscutils/hdparm.c
miscutils/last.c
miscutils/less.c
miscutils/makedevs.c
miscutils/microcom.c
miscutils/mountpoint.c
miscutils/mt.c
miscutils/raidautorun.c
miscutils/readahead.c
miscutils/runlevel.c
miscutils/rx.c
miscutils/setsid.c
miscutils/strings.c
miscutils/taskset.c
miscutils/time.c
miscutils/ttysize.c
miscutils/watchdog.c
modutils/insmod.c
modutils/lsmod.c
modutils/modprobe.c
modutils/rmmod.c
networking/arp.c
networking/arping.c
networking/dnsd.c
networking/ether-wake.c
networking/ftpgetput.c
networking/hostname.c
networking/httpd.c
networking/ifconfig.c
networking/ifupdown.c
networking/inetd.c
networking/ip.c
networking/ipcalc.c
networking/isrv_identd.c
networking/nameif.c
networking/nc.c
networking/nc_bloaty.c
networking/netstat.c
networking/nslookup.c
networking/ping.c
networking/pscan.c
networking/route.c
networking/slattach.c
networking/telnet.c
networking/telnetd.c
networking/tftp.c
networking/traceroute.c
networking/udhcp/dhcpc.c
networking/udhcp/dhcpd.c
networking/udhcp/dhcprelay.c
networking/udhcp/dumpleases.c
networking/vconfig.c
networking/wget.c
networking/zcip.c
procps/free.c
procps/fuser.c
procps/kill.c
procps/nmeter.c
procps/pgrep.c
procps/pidof.c
procps/ps.c
procps/renice.c
procps/sysctl.c
procps/top.c
procps/uptime.c
procps/watch.c
runit/chpst.c
runit/runsv.c
runit/runsvdir.c
runit/sv.c
runit/svlogd.c
scripts/trylink
selinux/chcon.c
selinux/getenforce.c
selinux/getsebool.c
selinux/load_policy.c
selinux/matchpathcon.c
selinux/runcon.c
selinux/selinuxenabled.c
selinux/setenforce.c
selinux/setfiles.c
shell/ash.c
shell/bbsh.c
shell/hush.c
shell/lash.c
shell/msh.c
sysklogd/klogd.c
sysklogd/logger.c
sysklogd/logread.c
sysklogd/syslogd.c
util-linux/dmesg.c
util-linux/fbset.c
util-linux/fdformat.c
util-linux/fdisk.c
util-linux/freeramdisk.c
util-linux/fsck_minix.c
util-linux/getopt.c
util-linux/hexdump.c
util-linux/hwclock.c
util-linux/ipcrm.c
util-linux/ipcs.c
util-linux/losetup.c
util-linux/mdev.c
util-linux/mkfs_minix.c
util-linux/mkswap.c
util-linux/more.c
util-linux/mount.c
util-linux/pivot_root.c
util-linux/rdate.c
util-linux/readprofile.c
util-linux/setarch.c
util-linux/swaponoff.c
util-linux/switch_root.c
util-linux/umount.c

index 243f095e2eadf74805dbef06e1d8bc96ad5fc3cc..c023299d737be6703bfa52653917393711b9cb81 100644 (file)
@@ -56,10 +56,13 @@ ifeq ($(CONFIG_DEBUG),y)
 CFLAGS += $(call cc-option,-g)
 endif
 
+ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
 # on i386: 14% smaller libbusybox.so
 # (code itself is 9% bigger, we save on relocs/PLT/GOT)
-ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
 CFLAGS += -fpic
+# and another 4% reduction of libbusybox.so:
+# (external entry points must be marked EXTERNALLY_VISIBLE)
+CFLAGS += $(call cc-option,-fvisibility=hidden)
 endif
 
 ifeq ($(CONFIG_STATIC),y)
index bbf150c7982495d10eac51e3fa85c95f701cb711..1950cf34ee819be2291e122d62c8674c5ad641ce 100644 (file)
@@ -24,6 +24,6 @@
 #if ENABLE_BUILD_LIBBUSYBOX
 int main(int argc, char **argv)
 {
-       return libbusybox_main(argc, argv);
+       return lbb_main(argc, argv);
 }
 #endif
index cbe4d8e0e4ab8535e897abad2e573cce5dd37953..0a95e5c85452116590da25f293d71628bd400669 100644 (file)
@@ -37,7 +37,7 @@ static void header_verbose_list_ar(const file_header_t *file_header)
 #define AR_OPT_CREATE          0x20
 #define AR_OPT_INSERT          0x40
 
-int ar_main(int argc, char **argv);
+int ar_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ar_main(int argc, char **argv)
 {
        static const char msg_unsupported_err[] ALIGN1 =
index e106bf0edfc7cfd9a00c68575eaf48ee2adad982..61b5e39da1d0c7bacb1cc253b75f298f7d16a9e2 100644 (file)
@@ -158,7 +158,7 @@ USE_DESKTOP(long long) int unpack_bunzip2(void)
        return unpack_bz2_stream(STDIN_FILENO, STDOUT_FILENO);
 }
 
-int bunzip2_main(int argc, char **argv);
+int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int bunzip2_main(int argc, char **argv)
 {
        getopt32(argv, "cf");
@@ -256,7 +256,7 @@ USE_DESKTOP(long long) int unpack_gunzip(void)
        return status;
 }
 
-int gunzip_main(int argc, char **argv);
+int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int gunzip_main(int argc, char **argv)
 {
        getopt32(argv, "cfvdt");
@@ -294,7 +294,7 @@ USE_DESKTOP(long long) int unpack_unlzma(void)
        return unpack_lzma_stream(STDIN_FILENO, STDOUT_FILENO);
 }
 
-int unlzma_main(int argc, char **argv);
+int unlzma_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int unlzma_main(int argc, char **argv)
 {
        getopt32(argv, "cf");
@@ -336,7 +336,7 @@ USE_DESKTOP(long long) int unpack_uncompress(void)
        return status;
 }
 
-int uncompress_main(int argc, char **argv);
+int uncompress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uncompress_main(int argc, char **argv)
 {
        getopt32(argv, "cf");
index 9188e09f1153083853fd6ce9213c1e6a02e39042..59ae60c77267563d8677a6b36378adf21f896b2c 100644 (file)
@@ -22,7 +22,7 @@
 #define CPIO_OPT_CREATE_LEADING_DIR     0x20
 #define CPIO_OPT_PRESERVE_MTIME         0x40
 
-int cpio_main(int argc, char **argv);
+int cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cpio_main(int argc, char **argv)
 {
        archive_handle_t *archive_handle;
index 337576ccd053d9696bdc48cf7f851362813511ba..27512eb5d30949605a8c8da709d1604007460158 100644 (file)
@@ -1557,7 +1557,7 @@ static void configure_package(deb_file_t *deb_file)
        set_status(status_num, "installed", 3);
 }
 
-int dpkg_main(int argc, char **argv);
+int dpkg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dpkg_main(int argc, char **argv)
 {
        deb_file_t **deb_file = NULL;
index 9781b54e54668bd512642e13b806a42c53b27c7d..e1d2cd0ed1702f353a93186bb7d1a049a015e64f 100644 (file)
@@ -13,7 +13,7 @@
 #define DPKG_DEB_OPT_EXTRACT   8
 #define DPKG_DEB_OPT_EXTRACT_VERBOSE   16
 
-int dpkg_deb_main(int argc, char **argv);
+int dpkg_deb_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dpkg_deb_main(int argc, char **argv)
 {
        archive_handle_t *ar_archive;
index cabcc5ecb4c819baeef85a1037aa4463211df6cd..bc7502e701ea30cf59ae0873beaadd769b8e5da6 100644 (file)
@@ -2025,7 +2025,7 @@ USE_DESKTOP(long long) int pack_gzip(void)
        return 0;
 }
 
-int gzip_main(int argc, char **argv);
+int gzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int gzip_main(int argc, char **argv)
 {
        unsigned opt;
index 0b7741a15faa7ba4122ef59f50a453206c35cd6f..f078aea1045f9b94e5fc3162c4791deee70437dc 100644 (file)
@@ -80,7 +80,7 @@ static void fileaction_dobackup(char *filename, int fileref);
 static void fileaction_setowngrp(char *filename, int fileref);
 static void loop_through_files(int filetag, void (*fileaction)(char *filename, int fileref));
 
-int rpm_main(int argc, char **argv);
+int rpm_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rpm_main(int argc, char **argv)
 {
        int opt = 0, func = 0, rpm_fd, offset;
index fe71e9867f3db74cf0a0969b78827d7492712922..329f8f71d21e5df1e010bd7340a9bd5e9a9b1723 100644 (file)
@@ -49,7 +49,7 @@ static void skip_header(int rpm_fd)
 }
 
 /* No getopt required */
-int rpm2cpio_main(int argc, char **argv);
+int rpm2cpio_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rpm2cpio_main(int argc, char **argv)
 {
        struct rpm_lead lead;
index 18b6267013f1b2721dc4902959e569754a8a5b69..3fe188656e04807195f53e719df7f6c63f13da8a 100644 (file)
@@ -769,7 +769,7 @@ static const char tar_longopts[] ALIGN1 =
        ;
 #endif
 
-int tar_main(int argc, char **argv);
+int tar_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tar_main(int argc, char **argv)
 {
        char (*get_header_ptr)(archive_handle_t *) = get_header_tar;
index 21d4c2535ec8c1ba32e1a0867d7cb5f68c719b6c..bd113af208f2719d4510778dd021ecdeb32ba396 100644 (file)
@@ -93,7 +93,7 @@ static int unzip_extract(zip_header_t *zip_header, int src_fd, int dst_fd)
        return 0;
 }
 
-int unzip_main(int argc, char **argv);
+int unzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int unzip_main(int argc, char **argv)
 {
        zip_header_t zip_header;
index b1f81a20e7b1d13bb725c45f247d5888aee5e433..8390c6001a663bf2f9c12a72349e4654d77ed39c 100644 (file)
@@ -15,7 +15,7 @@ enum {
        VT_WAITACTIVE = 0x5607  /* wait for vt active */
 };
 
-int chvt_main(int argc, char **argv);
+int chvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chvt_main(int argc, char **argv)
 {
        int fd, num;
index 3c7d704b518f4a9971e844c763a2e07795a574fc..769ce312149057a4b3deb6f58c0b7a6dd1293654 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int clear_main(int argc, char **argv);
+int clear_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int clear_main(int argc, char **argv)
 {
        return printf("\033[H\033[J") != 6;
index bf2bac186e5aaacc71f17b8248ab17035384e13e..48783fbb134c78a59ae898ac05aeff6f6bc139c9 100644 (file)
@@ -15,7 +15,7 @@
 /* From <linux/vt.h> */
 enum { VT_DISALLOCATE = 0x5608 }; /* free memory associated to vt */
 
-int deallocvt_main(int argc, char **argv);
+int deallocvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int deallocvt_main(int argc, char **argv)
 {
        /* num = 0 deallocate all unused consoles */
index a606d568ef01fa6f21c98ef21284d591eefdb5bd..40b58f716eb497a9fca4bce68daef10a2400c518 100644 (file)
@@ -22,7 +22,7 @@ struct kbentry {
 #define NR_KEYS 128
 #define MAX_NR_KEYMAPS 256
 
-int dumpkmap_main(int argc, char **argv);
+int dumpkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dumpkmap_main(int argc, char **argv)
 {
        struct kbentry ke;
index 6b4dcb475ee999a8b06f0a3c127f49d61fd038e3..882b8817ad75c3658d2d2b9c7468e87fab6998ef 100644 (file)
@@ -166,7 +166,7 @@ static void loadnewfont(int fd)
        do_loadfont(fd, inbuf + offset, unit, 256);
 }
 
-int loadfont_main(int argc, char **argv);
+int loadfont_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int loadfont_main(int argc, char **argv)
 {
        int fd;
index 4a726f9c8127f4e62e019ed01359a8a31e8f653a..40885ee0cb99482126b21dea229c0e8d42f83966 100644 (file)
@@ -25,7 +25,7 @@ struct kbentry {
 #define NR_KEYS         128
 #define MAX_NR_KEYMAPS  256
 
-int loadkmap_main(int argc, char **argv);
+int loadkmap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int loadkmap_main(int argc, char **argv)
 {
        struct kbentry ke;
index c050ba19efda0899e04246913ba9d9abb07a2bee..ff169530d50221393301f68827c44b2304b4669c 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int openvt_main(int argc, char **argv);
+int openvt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int openvt_main(int argc, char **argv)
 {
        char vtname[sizeof(VC_FORMAT) + 2];
index deffe286dfb6a7c37b5fbd9a8917bc3a334d9023..bb096cf9f633f4642f47e3cc41919bc0c93db5e1 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int reset_main(int argc, char **argv);
+int reset_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int reset_main(int argc, char **argv)
 {
        if (isatty(1)) {
index 32551b2f2513ed3cd1636a501c6b64dce7d7a29d..b4cdf50d0bf56fa5d483b5597fc862de03277a1a 100644 (file)
@@ -20,7 +20,7 @@ onintr(int sig ATTRIBUTE_UNUSED)
        exit(1);
 }
 
-int resize_main(int argc, char **argv);
+int resize_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int resize_main(int argc, char **argv)
 {
        struct termios new;
index 32218ae8fcb8373609ff3b49c8f7a5f100d9f4fc..0aa1d3a3525f6bdc902277714baa28aec6ec8730 100644 (file)
@@ -18,7 +18,7 @@ static const char setconsole_longopts[] ALIGN1 =
 
 #define OPT_SETCONS_RESET 1
 
-int setconsole_main(int argc, char **argv);
+int setconsole_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setconsole_main(int argc, char **argv)
 {
        unsigned long flags;
index 3de5f98568ab26425340586438a940f54498c459..ba3d2e44e6804619f6d270f10162c7a08ae390ed 100644 (file)
@@ -20,8 +20,8 @@ enum {
        KDSETKEYCODE = 0x4B4D  /* write kernel keycode table entry */
 };
 
-int setkeycodes_main(int argc, char** argv);
-int setkeycodes_main(int argc, char** argv)
+int setkeycodes_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int setkeycodes_main(int argc, char **argv)
 {
        int fd, sc;
        struct kbkeycode a;
index 2e2a5a47190e6818f5965fac1be734e3f786b52d..0f6491c72897730723033e2ab0bc1f5a5447de93 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int setlogcons_main(int argc, char **argv);
+int setlogcons_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setlogcons_main(int argc, char **argv)
 {
        struct {
index ec1f85befd94324f86c7a0ac1304f94aa6a7bf7c..d536a1bf3cb0a261808e02fea0b772ea05ecd8f3 100644 (file)
@@ -24,7 +24,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int basename_main(int argc, char **argv);
+int basename_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int basename_main(int argc, char **argv)
 {
        size_t m, n;
index 3116e1ebe74996d68876deabcd0b325b947a33f3..8a08a9ae7dc77efe7ffab92b97be3b986f3550a2 100644 (file)
@@ -75,7 +75,7 @@ static char *build_row(char *p, unsigned *dp);
 #define        J_WEEK_LEN      (WEEK_LEN + 7)
 #define        HEAD_SEP        2               /* spaces between day headings */
 
-int cal_main(int argc, char **argv);
+int cal_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cal_main(int argc, char **argv)
 {
        struct tm *local_time;
index cd5277819f223a2b25c0ece60ccf74dd21881633..a1db4cd4547d3eea5c1c22689001255789405715 100644 (file)
@@ -43,7 +43,7 @@ int bb_cat(char **argv)
        return retval;
 }
 
-int cat_main(int argc, char **argv);
+int cat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cat_main(int argc, char **argv)
 {
        getopt32(argv, "u");
index 5d5a5500f70e8e13894caca1360fc56b64c07baf..5f5f1bf8681f99ce1c8f1a018d8aeb60660aaf01 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int catv_main(int argc, char **argv);
+int catv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int catv_main(int argc, char **argv)
 {
        int retval = EXIT_SUCCESS;
index 90a1cfe2bb4803213330eee5da4a797b52026c0e..7f39048054b30f2e9340d8ae2ffb040d1715d170 100644 (file)
@@ -16,7 +16,7 @@
 /* This is a NOEXEC applet. Be very careful! */
 
 
-int chgrp_main(int argc, char **argv);
+int chgrp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chgrp_main(int argc, char **argv)
 {
        /* "chgrp [opts] abc file(s)" == "chown [opts] :abc file(s)" */
index dd7b78412c164da62cef3b5e7c0e36900bc78c64..a58e4f8e12323b1eac2e85a3b20ffb6249a4620f 100644 (file)
@@ -67,7 +67,7 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* param, i
        return FALSE;
 }
 
-int chmod_main(int argc, char **argv);
+int chmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chmod_main(int argc, char **argv)
 {
        int retval = EXIT_SUCCESS;
index d974493b6cdf91abe93ca43567209a4c34884a9c..df3b77dacb16873332e51e1d3990bd90bfed8367 100644 (file)
@@ -61,7 +61,7 @@ static int fileAction(const char *fileName, struct stat *statbuf,
        return FALSE;
 }
 
-int chown_main(int argc, char **argv);
+int chown_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chown_main(int argc, char **argv)
 {
        int retval = EXIT_SUCCESS;
index 192daa894fc4512cd49b0edbd89253d2c3d9ddb4..a3e70e9250466e2337234e674a67e88176086608 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int chroot_main(int argc, char **argv);
+int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chroot_main(int argc, char **argv)
 {
        if (argc < 2) {
index 987f5f32c76824fffd23df28282b67ddc362f7c3..dd274afc2871ceac036e418c8fef36e8207e4960 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "libbb.h"
 
-int cksum_main(int argc, char **argv);
+int cksum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cksum_main(int argc, char **argv)
 {
        uint32_t *crc32_table = crc32_filltable(NULL, 1);
index a4ab148267bd30b4efb93769ccd1331201425257..67088e06c1dfdd56f060be1f28d2f25f1b1ed910 100644 (file)
@@ -35,7 +35,7 @@ static void writeline(char *line, int class, int flags)
        fputs(line, stdout);
 }
 
-int comm_main(int argc, char **argv);
+int comm_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int comm_main(int argc, char **argv)
 {
 #define LINE_LEN 100
index 046067f35a3820c712c84038dd96a8a3d702ddae..6cf1e21a1f59895fc52235bdd04925ebd27bb6e4 100644 (file)
@@ -21,7 +21,7 @@
 /* This is a NOEXEC applet. Be very careful! */
 
 
-int cp_main(int argc, char **argv);
+int cp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cp_main(int argc, char **argv)
 {
        struct stat source_stat;
index 1cf49c2afa9856b1c1b4f861fc2b19dfde7f3110..257f3d6498f040b93c3afd092d3d05497b4049c9 100644 (file)
@@ -165,7 +165,7 @@ static void cut_file(FILE * file)
 
 static const char _op_on_field[] ALIGN1 = " only when operating on fields";
 
-int cut_main(int argc, char **argv);
+int cut_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cut_main(int argc, char **argv)
 {
        char *sopt, *ltok;
index e33a9777dd46814e55b92943dd1bfebc55e5bfa3..a8e3393336a39244a53b5030d3a1760f2443856f 100644 (file)
@@ -38,7 +38,7 @@ static void maybe_set_utc(int opt)
                putenv((char*)"TZ=UTC0");
 }
 
-int date_main(int argc, char **argv);
+int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int date_main(int argc, char **argv)
 {
        time_t tm;
index b9f5b4cba2ea238445872c37fedfbde0264393c5..fd4e7e8a2a0fcf334c57c076b0c29d4183ffe147 100644 (file)
@@ -73,7 +73,7 @@ static bool write_and_stats(int fd, const void *buf, size_t len, size_t obs,
 #define XATOU_SFX xatoul_sfx
 #endif
 
-int dd_main(int argc, char **argv);
+int dd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dd_main(int argc, char **argv)
 {
        enum {
index 6fe8e2fbac39bfad00520be70460422cc77c80ed..ad6a4f3702c0354c021bc422eb4aa9530e469c50 100644 (file)
@@ -29,7 +29,7 @@ static unsigned long kscale(unsigned long b, unsigned long bs)
 }
 #endif
 
-int df_main(int argc, char **argv);
+int df_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int df_main(int argc, char **argv)
 {
        unsigned long blocks_used;
index fd2c381c8c625b3b0a203a8aea192af1a8661222..c0c0925e5bc96a34f3e2d8127478dc232e4b9100 100644 (file)
@@ -14,7 +14,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int dirname_main(int argc, char **argv);
+int dirname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dirname_main(int argc, char **argv)
 {
        if (argc != 2) {
index 28110980a6ae7c4cae57478b5cc9290fc41454d2..295be290945a3655126a18e247754683d9fa11c8 100644 (file)
@@ -78,7 +78,7 @@ static int convert(char *fn, int conv_type)
        return 0;
 }
 
-int dos2unix_main(int argc, char **argv);
+int dos2unix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dos2unix_main(int argc, char **argv)
 {
        int o, conv_type;
index 2697acf13656b18cef18d7e262dfc52162bc7069..3941151e1da3a261c6006049279981c730e8c3a6 100644 (file)
@@ -140,7 +140,7 @@ static unsigned long du(const char *filename)
        return sum;
 }
 
-int du_main(int argc, char **argv);
+int du_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int du_main(int argc, char **argv)
 {
        unsigned long total;
index 851d2efb207995fc372c0e780b6c79bcc61d04ca..860853f02ae05a59430cab55b60042af58dc5840 100644 (file)
@@ -119,8 +119,8 @@ int bb_echo(char **argv)
 
 /* This is a NOFORK applet. Be very careful! */
 
-int echo_main(int argc, char** argv);
-int echo_main(int argc, char** argv)
+int echo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int echo_main(int argc, char **argv)
 {
        return bb_echo(argv);
 }
index 5d0cd82565f336f5277973fac42dc67a30487bab..b45cbcc7dc2f6b1eb817dcaf17e0de351e08ed87 100644 (file)
@@ -41,8 +41,8 @@ static const char env_longopts[] ALIGN1 =
        ;
 #endif
 
-int env_main(int argc, char** argv);
-int env_main(int argc, char** argv)
+int env_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int env_main(int argc, char **argv)
 {
        /* cleanenv was static - why? */
        char *cleanenv[1];
index 0ef106dbffdbcc2862b3720915c772a31150790a..96a74a33632bac0d45ecca809fee89d38d66f56a 100644 (file)
@@ -125,7 +125,7 @@ static void unexpand(FILE *file, unsigned int tab_size, unsigned opt)
 }
 #endif
 
-int expand_main(int argc, char **argv);
+int expand_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int expand_main(int argc, char **argv)
 {
        /* Default 8 spaces for 1 tab */
index c2d966966aa8e840144ffacc3e13957737ea082e..959f5200ca3ea2bbe48df6ed53e2591589fc3424 100644 (file)
@@ -483,7 +483,7 @@ static VALUE *eval(void)
        return l;
 }
 
-int expr_main(int argc, char **argv);
+int expr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int expr_main(int argc, char **argv)
 {
        VALUE *v;
index 07cf9e83ec86713aca662ebe95314cc9d7a3d6b2..5beb58a28a0b5b8dacbf29afb478b8ce31869adf 100644 (file)
@@ -14,7 +14,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int false_main(int ATTRIBUTE_UNUSED argc, char ATTRIBUTE_UNUSED **argv);
+int false_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int false_main(int ATTRIBUTE_UNUSED argc, char ATTRIBUTE_UNUSED **argv)
 {
        return EXIT_FAILURE;
index bf4b198317f3a7b7e4bf111c8a71c1e2f7c670c3..ed484edf0bf63d408872c23023f553813418a534 100644 (file)
@@ -38,7 +38,7 @@ static int adjust_column(int column, char c)
        return column;
 }
 
-int fold_main(int argc, char **argv);
+int fold_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fold_main(int argc, char **argv)
 {
        char *line_out = NULL;
index af9e9f41ec1a6bb088a9f5a6e27d5d92971e9407..6293077197239df9fd358b9e5997ac318ad1941b 100644 (file)
@@ -31,7 +31,7 @@ static const struct suffix_mult head_suffixes[] = {
 
 static const char header_fmt_str[] ALIGN1 = "\n==> %s <==\n";
 
-int head_main(int argc, char **argv);
+int head_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int head_main(int argc, char **argv)
 {
        unsigned long count = 10;
index 7d96651e7672acd7a28129eeb6406745399547fb..433eccc458a43576731a7063251abed0b4d89611 100644 (file)
@@ -13,7 +13,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int hostid_main(int argc, char ATTRIBUTE_UNUSED **argv);
+int hostid_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hostid_main(int argc, char ATTRIBUTE_UNUSED **argv)
 {
        if (argc > 1) {
index f72a027fa945450f26a608806a09f3f39842e5b8..7dba80284997197d17c98927ca2577f050343ac1 100644 (file)
@@ -36,7 +36,7 @@ static int printf_full(unsigned int id, const char *arg, const char prefix)
        return status;
 }
 
-int id_main(int argc, char **argv);
+int id_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int id_main(int argc, char **argv)
 {
        struct passwd *p;
index 51620847439cdf59167f2e25861edf43d33adaeb..4adcadb940ebdb164f0de722fb0b3b76f6a6f765 100644 (file)
@@ -66,7 +66,7 @@ static void setdefaultfilecon(const char *path)
 
 #endif
 
-int install_main(int argc, char **argv);
+int install_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int install_main(int argc, char **argv)
 {
        struct stat statbuf;
index a310b3b2fc4de48732cd72405414b1ad8acc19e4..c7523a02a1756840c6acc1f8286dcf539a33c3e6 100644 (file)
@@ -6,7 +6,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int length_main(int argc, char **argv);
+int length_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int length_main(int argc, char **argv)
 {
        if ((argc != 2) || (**(++argv) == '-')) {
index 658e32e94399fcf76ba2c44ef47a82f55530630e..eb7171959cbe62b479753124fb817eda6df90309 100644 (file)
@@ -22,7 +22,7 @@
 #define LN_BACKUP           8
 #define LN_SUFFIX           16
 
-int ln_main(int argc, char **argv);
+int ln_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ln_main(int argc, char **argv)
 {
        int status = EXIT_SUCCESS;
index 2e628bc146896197071c4cb3b7746a33fd6a7f7e..09fd3960d82db2924d3c89043f708a95b23322ea 100644 (file)
@@ -24,7 +24,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int logname_main(int argc, char ATTRIBUTE_UNUSED **argv);
+int logname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int logname_main(int argc, char ATTRIBUTE_UNUSED **argv)
 {
        char buf[128];
index 92a9a289dc9dbae829b121e0143349938b1ed99e..dbf1c5ba6df7c3f100338aa233df3e483ea79a0b 100644 (file)
@@ -783,7 +783,7 @@ static const unsigned opt_flags[] = {
 /* THIS IS A "SAFE" APPLET, main() MAY BE CALLED INTERNALLY FROM SHELL */
 /* BE CAREFUL! */
 
-int ls_main(int argc, char **argv);
+int ls_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ls_main(int argc, char **argv)
 {
        struct dnode **dnd;
index 7f8b08497356124e09f34ad5de50addf7f5f91e8..e94f2ceb1d31a11ed1a015f847648c237134dd4d 100644 (file)
@@ -77,7 +77,7 @@ static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
        return hash_value;
 }
 
-int md5_sha1_sum_main(int argc, char **argv);
+int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int md5_sha1_sum_main(int argc, char **argv)
 {
        int return_value = EXIT_SUCCESS;
index d1a4380adf1832767024bb0509c92fbebaea24ee..6bdf76d29362d38730027813d5c2342b59752eb4 100644 (file)
@@ -34,7 +34,7 @@ static const char mkdir_longopts[] ALIGN1 =
        ;
 #endif
 
-int mkdir_main(int argc, char **argv);
+int mkdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mkdir_main(int argc, char **argv)
 {
        mode_t mode = (mode_t)(-1);
index e66f81778a211a2489172cbd1752460ee034039f..d298adae039416582cb31d69b953bf5c66e3098f 100644 (file)
@@ -13,7 +13,7 @@
 #include "libbb.h"
 #include "libcoreutils/coreutils.h"
 
-int mkfifo_main(int argc, char **argv);
+int mkfifo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mkfifo_main(int argc, char **argv)
 {
        mode_t mode;
index a876daaf1862efa859a80f58e2b263a83756ec9f..ee539e3871414ee556c677c27a653dcaef6cb8d8 100644 (file)
@@ -17,7 +17,7 @@
 static const char modes_chars[] ALIGN1 = { 'p', 'c', 'u', 'b', 0, 1, 1, 2 };
 static const mode_t modes_cubp[] = { S_IFIFO, S_IFCHR, S_IFBLK };
 
-int mknod_main(int argc, char **argv);
+int mknod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mknod_main(int argc, char **argv)
 {
        mode_t mode;
index d13f4d54faa4b7f0274e9ba0d3c85d72dbc7c2a4..5d0b515619307d0fccdd78fac0b2a763531faeed 100644 (file)
@@ -33,7 +33,7 @@ static const char mv_longopts[] ALIGN1 =
 static const char fmt[] ALIGN1 =
        "cannot overwrite %sdirectory with %sdirectory";
 
-int mv_main(int argc, char **argv);
+int mv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mv_main(int argc, char **argv)
 {
        struct stat dest_stat;
index 0cb31e4fafcb47298740218b5857f8047f645b70..d24a95b45f85ed3763b370e47b3bba4c1ca662b3 100644 (file)
@@ -10,7 +10,7 @@
 #include <sys/resource.h>
 #include "libbb.h"
 
-int nice_main(int argc, char **argv);
+int nice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nice_main(int argc, char **argv)
 {
        int old_priority, adjustment;
index e27bd2e3543319cae43219a83febf24476011a35..da8f58c720453c9205b8352203b16ede6fea2580 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int nohup_main(int argc, char **argv);
+int nohup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nohup_main(int argc, char **argv)
 {
        int nullfd;
index 114a746fa6133fcb9397bf1450642b072c8b38a3..85e979f7e2dd62945fc562ddd9c70e1c1c523636 100644 (file)
@@ -156,7 +156,7 @@ static const char od_o2si[] ALIGN1 = {
        0xb, 1, 8, 9,
 };
 
-int od_main(int argc, char **argv);
+int od_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int od_main(int argc, char **argv)
 {
        int ch;
index 1bd1b0c8459f34af5b994eb07e1a875b6d934a68..9655c2398ddd4f9845dee15946bfa13f4ef29300 100644 (file)
@@ -1196,7 +1196,7 @@ dump_strings(void)
        check_and_close();
 }
 
-int od_main(int argc, char **argv);
+int od_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int od_main(int argc, char **argv)
 {
        static const struct suffix_mult bkm[] = {
index 19fa832c87b4f4461f3114deb3a112da0b6bef6d..bac77e2a8e287aa2e9e24cb04907d3e1a6347492 100644 (file)
@@ -11,7 +11,7 @@
 #include "libbb.h"
 extern char **environ;
 
-int printenv_main(int argc, char **argv);
+int printenv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int printenv_main(int argc, char **argv)
 {
        /* no variables specified, show whole env */
index d5ef32e8c6885727e7ce597076ce7e346630ca30..a9ef61f68f327bada1c8ae69f361e056cbf99500 100644 (file)
@@ -285,7 +285,7 @@ static int print_formatted(char *format, int argc, char **argv)
        return save_argc - argc;
 }
 
-int printf_main(int argc, char **argv);
+int printf_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int printf_main(int argc, char **argv)
 {
        char *format;
index 73a9d5be8a4015ab290ce29e3d7bad35456419f5..ac604db97f4bf01c78e38aadfcd7e4de255faa16 100644 (file)
@@ -11,7 +11,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int pwd_main(int argc, char **argv);
+int pwd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pwd_main(int argc, char **argv)
 {
        char *buf;
index 39edc056927ffec96e72def2525113af0345d18d..b6e389a21fa0418b2ea84c1610d3dc1525a9e2f1 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int readlink_main(int argc, char **argv);
+int readlink_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int readlink_main(int argc, char **argv)
 {
        char *buf;
index 9c429872078a9f9d8eb37444253bffafe8ad9883..bcb73a8dc53d03d5fe7b63916d44e0e451349c5b 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int realpath_main(int argc, char **argv);
+int realpath_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int realpath_main(int argc, char **argv)
 {
        int retval = EXIT_SUCCESS;
index a686fc40c9bbbc56fbf59f3425ffab915f180886..a123156d28b8d25e8bf2f8c878d22155e483aad8 100644 (file)
@@ -19,7 +19,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int rm_main(int argc, char **argv);
+int rm_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rm_main(int argc, char **argv)
 {
        int status = 0;
index 315401e0ed338d928250c233a1de92275b7f6677..71d29dd98d0484eb4e3f87058034afb37903c6ac 100644 (file)
@@ -16,7 +16,7 @@
 /* This is a NOFORK applet. Be very careful! */
 
 
-int rmdir_main(int argc, char **argv);
+int rmdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rmdir_main(int argc, char **argv)
 {
        int status = EXIT_SUCCESS;
index 050c33317f1970dcd255dd734a53277f7a86cb91..01d71f256b9bc4df5c0105f6c773a933f6e252bd 100644 (file)
@@ -12,7 +12,7 @@
 /* This is a NOFORK applet. Be very careful! */
 
 
-int seq_main(int argc, char **argv);
+int seq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int seq_main(int argc, char **argv)
 {
        double last, increment, i;
index 26cdbc470b43382d1982d4c811dc0ff09b90e001..6890e35c149ed733645e430951f549498528fe4e 100644 (file)
@@ -33,7 +33,7 @@ static const struct suffix_mult sfx[] = {
 };
 #endif
 
-int sleep_main(int argc, char **argv);
+int sleep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sleep_main(int argc, char **argv)
 {
        unsigned duration;
index 311c774aee3d9dabbde93ca9b869eeca251873d1..3132346754cbb189d4d8bd3e52977f1def7cff68 100644 (file)
@@ -274,7 +274,7 @@ static unsigned str2u(char **str)
 }
 #endif
 
-int sort_main(int argc, char **argv);
+int sort_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sort_main(int argc, char **argv)
 {
        FILE *fp, *outfile = stdout;
index 6d8924aebeabd18098dd295657d4b54b9e90d838..51a631c563944837d3fdc1a748aeabb72245d34d 100644 (file)
@@ -55,7 +55,7 @@ enum { READ_BUFFER_SIZE = COMMON_BUFSIZE - 1 };
 #define SPLIT_OPT_b (1<<1)
 #define SPLIT_OPT_a (1<<2)
 
-int split_main(int argc, char **argv);
+int split_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int split_main(int argc, char **argv)
 {
        unsigned suffix_len = 2;
index ed6580ef0b16028e3eb5fbba8db20a7be48083b6..a5a30546de368c6b310d7031d46e84c52991eb05 100644 (file)
@@ -609,7 +609,7 @@ static bool do_stat(const char *filename, const char *format)
        return 1;
 }
 
-int stat_main(int argc, char **argv);
+int stat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int stat_main(int argc, char **argv)
 {
        char *format = NULL;
index 1f0d4227e9479194790803b7306d1a4cb5d2e2a1..8ad12e65e2739bfcf1b1c51a202e8c818d53e6ae 100644 (file)
@@ -911,7 +911,7 @@ static void set_control_char_or_die(const struct control_info *info,
 #define STTY_verbose_output     (1<<2)
 #define STTY_recoverable_output (1<<3)
 #define STTY_noargs             (1<<4)
-int stty_main(int argc, char **argv);
+int stty_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int stty_main(int argc, char **argv)
 {
        struct termios mode;
index a75dd321da9fee58bab7c4608879c1829aa5e780..65478b0a1b4dd619bffdbcc1fd65dd1881fd7971 100644 (file)
@@ -74,7 +74,7 @@ static unsigned sum_file(const char *file, const unsigned type)
 #undef buf
 }
 
-int sum_main(int argc, char **argv);
+int sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sum_main(int argc, char **argv)
 {
        unsigned n;
index d562f3fc51a76e460e1a9be38c68e65a48cc1254..9dbdd98aa682b736c7860e58c075e6ba28829d62 100644 (file)
@@ -13,7 +13,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int sync_main(int argc, char **argv);
+int sync_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sync_main(int argc, char **argv)
 {
        bb_warn_ignoring_args(argc - 1);
index 53dbf33ac22bbd5596b5141fffa9d2d6e42d71a4..beecbaedfaab9529366e147bf64a773829d15d81 100644 (file)
@@ -79,7 +79,7 @@ static unsigned eat_num(const char *p)
        return xatou_sfx(p, tail_suffixes);
 }
 
-int tail_main(int argc, char **argv);
+int tail_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tail_main(int argc, char **argv)
 {
        unsigned count = 10;
index 83132581203d2ba15260bab7b454d661508345d2..13fb4a3c18735abb2b12675abc200e5a28e8b84e 100644 (file)
@@ -13,7 +13,7 @@
 #include "libbb.h"
 #include <signal.h>
 
-int tee_main(int argc, char **argv);
+int tee_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tee_main(int argc, char **argv)
 {
        const char *mode = "w\0a";
index d8498d85407f68645b53a0a896b56debbc580c9b..1b83dc44cc2c65e975bdcb0c55ffba11ce10ff45 100644 (file)
@@ -21,7 +21,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int touch_main(int argc, char **argv);
+int touch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int touch_main(int argc, char **argv)
 {
        int fd;
index 6a34e3087ae0d4957a46c4766381bb5e42827f3e..9521bbcd507f5da3cf5b08b8e847aaaf56f39f41 100644 (file)
@@ -165,7 +165,7 @@ static int complement(char *buffer, int buffer_len)
        return ix;
 }
 
-int tr_main(int argc, char **argv);
+int tr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tr_main(int argc, char **argv)
 {
        unsigned char *ptr;
index 9dcd69aa3a34495c5700652a0f880680db061fc3..2b5919320d75ed4938f29e3266d63032d837dad0 100644 (file)
@@ -14,7 +14,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int true_main(int argc, char **argv);
+int true_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int true_main(int argc, char **argv)
 {
        return EXIT_SUCCESS;
index d8ce78c002238bf17e689679b7d0697226f69cce..b0a50ff61028ab89c57b99b69ef49b3f2aed49e4 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int tty_main(int argc, char **argv);
+int tty_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tty_main(int argc, char **argv)
 {
        const char *s;
index e70b1f9b63350818ccdeb06777d7e8be70508e32..2eecb5d6d1b40b4d0c038b6ebb0294a0c1800fda 100644 (file)
@@ -48,7 +48,7 @@ static const unsigned short utsname_offset[] ALIGN2 = {
        offsetof(uname_info_t,processor)
 };
 
-int uname_main(int argc, char **argv);
+int uname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uname_main(int argc, char **argv)
 {
        uname_info_t uname_info;
index 719bbb5e3c673efbcf087085fd1bd265b0528442..cda1e61a98f909ed2020bbd697c43661e7e762fc 100644 (file)
@@ -27,7 +27,7 @@ static FILE *xgetoptfile_uniq_s(char **argv, int read0write2)
        return (read0write2) ? stdout : stdin;
 }
 
-int uniq_main(int argc, char **argv);
+int uniq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uniq_main(int argc, char **argv)
 {
        FILE *in, *out;
index e0cd56e542f23292a00d611b3fb7536475e520f4..1c90223254ec3f1731fd2439f4a891d644dee8de 100644 (file)
@@ -13,7 +13,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int usleep_main(int argc, char **argv);
+int usleep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int usleep_main(int argc, char **argv)
 {
        if (argc != 2) {
index 7a52bdbda20ea1c215d3bf9bbcf3f1f15f544259..46836624c33df986c107bae2aad858a40cfe562d 100644 (file)
@@ -126,7 +126,7 @@ static void read_base64(FILE *src_stream, FILE *dst_stream)
        }
 }
 
-int uudecode_main(int argc, char **argv);
+int uudecode_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uudecode_main(int argc, char **argv)
 {
        FILE *src_stream = stdin;
index 17def8d9acbcd93e89d4d22263ccdfafbb27b863..e19f996764667f9bf5470e67377577bf187c4ead 100644 (file)
@@ -15,7 +15,7 @@ enum {
        DST_BUF_SIZE = 4 * ((SRC_BUF_SIZE + 2) / 3),
 };
 
-int uuencode_main(int argc, char **argv);
+int uuencode_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uuencode_main(int argc, char **argv)
 {
        struct stat stat_buf;
index c8a4865b1f9e8e779dff3ed189a6af2a2d28d9aa..291af411fb8b5f88d63a77741004855233eabad6 100644 (file)
@@ -68,7 +68,7 @@ enum {
        WC_LENGTH       = 3
 };
 
-int wc_main(int argc, char **argv);
+int wc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int wc_main(int argc, char **argv)
 {
        FILE *fp;
index 546050aee0b89276179caa69b8eea19f902357f5..6e7710c2d4ec8e68356743422483cc5bcef302d2 100644 (file)
@@ -39,7 +39,7 @@ static void idle_string(char *str6, time_t t)
        strcpy(str6, "old");
 }
 
-int who_main(int argc, char **argv);
+int who_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int who_main(int argc, char **argv)
 {
        char str6[6];
index 3718358d5d195a4bde3c903061490761377ccf4a..e2fdfc955a5faa16d28655c203b05df7dde04a33 100644 (file)
@@ -13,7 +13,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int whoami_main(int argc, char **argv);
+int whoami_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int whoami_main(int argc, char **argv)
 {
        if (argc > 1)
index 5529eab143e4c4f655485e3e43ecaebbfd0b74de..269d2a0c20c33c0759345f71b88e47e100b0e911 100644 (file)
@@ -18,7 +18,7 @@
 
 /* This is a NOFORK applet. Be very careful! */
 
-int yes_main(int argc, char **argv);
+int yes_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int yes_main(int argc, char **argv)
 {
        char **first_arg;
index 1c71c2e430814544d918b84e7acec92aae300ca1..5772ad9ee3f7a854eed3b24b4d0d761b40d3c08d 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int mktemp_main(int argc, char **argv);
+int mktemp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mktemp_main(int argc, char **argv)
 {
        unsigned long flags = getopt32(argv, "dqt");
index ac8fb50f63ec821580d8c3d1440a3a355f7e44b9..4bfdf6aa41d7164f6735912dde8311b3083ac774 100644 (file)
@@ -14,7 +14,7 @@
 /* Read a block of data from stdin, write it to stdout.
  * Activity is indicated by a '.' to stderr
  */
-int pipe_progress_main(int argc, char **argv);
+int pipe_progress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pipe_progress_main(int argc, char **argv)
 {
        RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE);
index 56f70c6eea22841947a03acca4b2f9edbd7bbc80..338817f8fa69a4af93ba819af83508816568b3f4 100644 (file)
@@ -110,7 +110,7 @@ static const char runparts_longopts[] ALIGN1 =
        ;
 #endif
 
-int run_parts_main(int argc, char **argv);
+int run_parts_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int run_parts_main(int argc, char **argv)
 {
        const char *umask_p = "22";
index 7633cb05793e7db9356dcbd33f83aaab6e774e60..6860bab6b9605b0b3185741fd59078258df733d7 100644 (file)
@@ -234,7 +234,7 @@ enum {
        OPT_NICELEVEL  = 0x4000 * ENABLE_FEATURE_START_STOP_DAEMON_FANCY, // -N
 };
 
-int start_stop_daemon_main(int argc, char **argv);
+int start_stop_daemon_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int start_stop_daemon_main(int argc, char **argv)
 {
        unsigned opt;
index b556a9fd96392f5f5c96a691909b91405295be98..8838130596d58e6e859fe01e038c6dd84d6343e4 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int which_main(int argc, char **argv);
+int which_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int which_main(int argc, char **argv)
 {
        int status = EXIT_SUCCESS;
index 05ff92f2614a030bf0a80ba92d5476f46e62abb7..37a78e95b4e08e95204457e7c2b619db67e904d0 100644 (file)
@@ -42,7 +42,7 @@ For a new applet mu, here is the code that would go in mu.c:
 #include "libbb.h"
 #include "other.h"
 
-int mu_main(int argc, char **argv);
+int mu_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mu_main(int argc, char **argv)
 {
        int fd;
index 35424f842cf386cff2e05bbad2f15dc2a830f633..db543722892c2ee4553f336ba2665c96ad625c8c 100644 (file)
@@ -142,7 +142,7 @@ static void change_attributes(const char *name, struct globals *gp)
                iterate_on_dir(name, chattr_dir_proc, gp);
 }
 
-int chattr_main(int argc, char **argv);
+int chattr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chattr_main(int argc, char **argv)
 {
        struct globals g;
index 110b3d246f6a53cb3baae3b0df28c7bc0d8d9d14..f80de81787bedf0d300c17867dce701a891b64d1 100644 (file)
@@ -1153,7 +1153,7 @@ static void signal_cancel(int sig ATTRIBUTE_UNUSED)
        cancel_requested = 1;
 }
 
-int fsck_main(int argc, char **argv);
+int fsck_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fsck_main(int argc, char **argv)
 {
        int i, status = 0;
index 5f4f8727628a83fc82e69f9b79e4e16b601bb5d3..6f4b9742cac5c973a55d9d6a0217bc59549f5f69 100644 (file)
@@ -95,7 +95,7 @@ static void lsattr_args(const char *name)
        }
 }
 
-int lsattr_main(int argc, char **argv);
+int lsattr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int lsattr_main(int argc, char **argv)
 {
        getopt32(argv, "Radlv");
index b9339387dc100880371707442e3b746fdf398962..ae39d922457632ab18e68054e4926c94871b50c9 100644 (file)
@@ -170,7 +170,7 @@ static int chattr_dir_proc(const char *dir_name, struct dirent *de,
        return 0;
 }
 
-int chattr_main(int argc, char **argv);
+int chattr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chattr_main(int argc, char **argv)
 {
        int i;
index 7e7383898b5faa7008589d3cfe206170e555eefa..d4914a571a5855a1c1cb42e8aed6343872fc8e9d 100644 (file)
@@ -1321,7 +1321,7 @@ static void PRS(int argc, char **argv)
            max_running = atoi(tmp);
 }
 
-int fsck_main(int argc, char **argv);
+int fsck_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fsck_main(int argc, char **argv)
 {
        int i, status = 0;
index bbc03aa9d6ce4743452b280e1c02a833b6b8f841..277ec7c2c83c0d651fe56f39115e66f1ee058187 100644 (file)
@@ -112,7 +112,7 @@ static int lsattr_dir_proc(const char *dir_name, struct dirent *de,
        return 0;
 }
 
-int lsattr_main(int argc, char **argv);
+int lsattr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int lsattr_main(int argc, char **argv)
 {
        int i;
index 920a50c6a3b3c45319521481922f75dc10d8bff6..c5c84d68ec968e991659c62131f3e41dde23f01f 100644 (file)
@@ -577,7 +577,7 @@ static void tune2fs_clean_up(void)
        if (ENABLE_FEATURE_CLEAN_UP && journal_device) free(journal_device);
 }
 
-int tune2fs_main(int argc, char **argv);
+int tune2fs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tune2fs_main(int argc, char **argv)
 {
        errcode_t retval;
index a820c7a179f946d39775a5a2b947a485161cb33a..da3401b377817e12b151b08a2b08b4cd2f58aab2 100644 (file)
@@ -2752,7 +2752,7 @@ static rstream *next_input_file(void)
 #undef files_happen
 }
 
-int awk_main(int argc, char **argv);
+int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int awk_main(int argc, char **argv)
 {
        unsigned opt;
index 34a0de50a2650cd1a30ae3508a4223bd37d9b9b3..6dfe0401b184852fbda42713148b4f8db36ff1b9 100644 (file)
@@ -42,7 +42,7 @@ static const char opt_chars[] ALIGN1 = "sl";
 #define CMP_OPT_s (1<<0)
 #define CMP_OPT_l (1<<1)
 
-int cmp_main(int argc, char **argv);
+int cmp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cmp_main(int argc, char **argv)
 {
        FILE *fp1, *fp2, *outfile = stdout;
index 3a694e087fc06e1f670ebe63907853928ad69eea..c158c87634bb69a1b2ba3649718102e3b41e3096 100644 (file)
@@ -1207,7 +1207,7 @@ static void diffdir(char *p1, char *p2)
 #endif
 
 
-int diff_main(int argc, char **argv);
+int diff_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int diff_main(int argc, char **argv)
 {
        bool gotstdin = 0;
index 31185d9b697ef256f9e689410bf26ad3b90bbeea..cceff0c4003c7ac14bb728868c951c31cd3bc756 100644 (file)
@@ -88,7 +88,7 @@ static char *skip_blank(const char *cp)
 }
 
 
-int ed_main(int argc, char **argv);
+int ed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ed_main(int argc, char **argv)
 {
        INIT_G();
index 65791dfe6da8fda6a16f2a1a8603c2d1283efbab..07fa5cfaf6f4a61e58f9c09b67d26b9f7b4984ac 100644 (file)
@@ -77,7 +77,7 @@ static int file_doesnt_exist(const char *filename)
        return stat(filename, &statbuf);
 }
 
-int patch_main(int argc, char **argv);
+int patch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int patch_main(int argc, char **argv)
 {
        int patch_level = -1;
index dcdf382dc5906095417f53928d265ebc6e1100fc..f75fceea504ecf12363308da91a095e0bfd978e3 100644 (file)
@@ -1223,7 +1223,7 @@ static void add_cmd_block(char *cmdstr)
        free(sv);
 }
 
-int sed_main(int argc, char **argv);
+int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sed_main(int argc, char **argv)
 {
        enum {
index 25c8234b4c3f2f0224ec8b925b5d8b2d9bbeed85..249bf29bf75f281157511570414ad5d7073f34b6 100644 (file)
@@ -311,7 +311,7 @@ static void write1(const char *out)
        fputs(out, stdout);
 }
 
-int vi_main(int argc, char **argv);
+int vi_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int vi_main(int argc, char **argv)
 {
        int c;
index b6188149763a9990129b2e67b23ad34970aef8de..9efe2db404a90323ad861193d1977cae0fd04aca 100644 (file)
@@ -794,7 +794,7 @@ static action*** parse_params(char **argv)
 }
 
 
-int find_main(int argc, char **argv);
+int find_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int find_main(int argc, char **argv)
 {
        static const char options[] ALIGN1 =
index 2d886a02516eed30d4e2e40a127b50215a60eb4c..fc40be244131b722c00bd471c0f09326835feb57 100644 (file)
@@ -393,7 +393,7 @@ static int grep_dir(const char *dir)
        return matched;
 }
 
-int grep_main(int argc, char **argv);
+int grep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int grep_main(int argc, char **argv)
 {
        FILE *file;
index f7c7832d5d4b6ac570ecf527fa9f137d1ae0221e..ee16ea675da26cd5f0c582735c52f45bc0793cfe 100644 (file)
@@ -373,7 +373,7 @@ enum {
        USE_FEATURE_XARGS_SUPPORT_TERMOPT(     "x") \
        USE_FEATURE_XARGS_SUPPORT_ZERO_TERM(   "0")
 
-int xargs_main(int argc, char **argv);
+int xargs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int xargs_main(int argc, char **argv)
 {
        char **args;
index ac3f65f6df854de2aa601b494dcaaa59b471f11e..ceab0033476aa0b1122a4186b1eca35792603a24 100644 (file)
@@ -24,11 +24,11 @@ s     - suid type:
 */
 
 #if defined(PROTOTYPES)
-# define APPLET(name,l,s)                    int name##_main(int argc, char **argv);
-# define APPLET_NOUSAGE(name,main,l,s)       int main##_main(int argc, char **argv);
-# define APPLET_ODDNAME(name,main,l,s,name2) int main##_main(int argc, char **argv);
-# define APPLET_NOEXEC(name,main,l,s,name2)  int main##_main(int argc, char **argv);
-# define APPLET_NOFORK(name,main,l,s,name2)  int main##_main(int argc, char **argv);
+# define APPLET(name,l,s)                    int name##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+# define APPLET_NOUSAGE(name,main,l,s)       int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+# define APPLET_ODDNAME(name,main,l,s,name2) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+# define APPLET_NOEXEC(name,main,l,s,name2)  int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+# define APPLET_NOFORK(name,main,l,s,name2)  int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 
 #elif defined(NAME_MAIN_CNAME)
 # define APPLET(name,l,s)                    name name##_main name
index 1c23b9bb01ee5bf1954cd07d5e17eb2de0929ab1..5c01eca8d8271b823b9fea4d2e308c94d652cb87 100644 (file)
@@ -48,12 +48,22 @@ struct bb_applet {
 #endif
 };
 
+
 /* Defined in appletlib.c */
 extern const struct bb_applet applets[];
 extern const unsigned short NUM_APPLETS;
-void bbox_prepare_main(char **argv);
+
+/* Length of these names has effect on size of libbusybox
+ * and "individual" binaries. Keep them short.
+ */
+void lbb_prepare(char **argv) MAIN_EXTERNALLY_VISIBLE;
 #if ENABLE_BUILD_LIBBUSYBOX
-int libbusybox_main(int argc, char **argv);
+#if ENABLE_FEATURE_SHARED_BUSYBOX
+int lbb_main(int argc, char **argv) EXTERNALLY_VISIBLE;
+#else
+int lbb_main(int argc, char **argv);
 #endif
+#endif
+
 
 #endif /* _BB_INTERNAL_H_ */
index 9d8b5f3dfaf23c1400869b380c5468f3a4b4638d..be548a3060b6bb476f0e7ff8bbc3b8ce961b1536 100644 (file)
@@ -673,7 +673,7 @@ extern int die_sleep;
 extern int xfunc_error_retval;
 extern jmp_buf die_jmp;
 extern void xfunc_die(void) ATTRIBUTE_NORETURN;
-extern void bb_show_usage(void) ATTRIBUTE_NORETURN ATTRIBUTE_EXTERNALLY_VISIBLE;
+extern void bb_show_usage(void) ATTRIBUTE_NORETURN;
 extern void bb_error_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
 extern void bb_error_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2)));
 extern void bb_perror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
@@ -687,18 +687,27 @@ extern void bb_perror_nomsg(void);
 extern void bb_info_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
 extern void bb_verror_msg(const char *s, va_list p, const char *strerr);
 
+/* We need to export XXX_main from libbusybox
+ * only if we build "individual" binaries
+ */
+#if ENABLE_FEATURE_INDIVIDUAL
+#define MAIN_EXTERNALLY_VISIBLE EXTERNALLY_VISIBLE
+#else
+#define MAIN_EXTERNALLY_VISIBLE
+#endif
+
 
 /* applets which are useful from another applets */
 int bb_cat(char** argv);
 int bb_echo(char** argv);
-int test_main(int argc, char** argv);
-int kill_main(int argc, char **argv);
+int test_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int kill_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 #if ENABLE_ROUTE
 void bb_displayroutes(int noresolve, int netstatfmt);
 #endif
-int chown_main(int argc, char **argv);
+int chown_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 #if ENABLE_GUNZIP
-int gunzip_main(int argc, char **argv);
+int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 #endif
 int bbunpack(char **argv,
        char* (*make_new_name)(char *filename),
index 39809450ee444a201747c3562c0d74f73fa355a5..53d72829fb95b2e1eda2b9102ba9c1d17d9d3ede 100644 (file)
 /* -fwhole-program makes all symbols local. The attribute externally_visible
    forces a symbol global.  */
 # if __GNUC_PREREQ (4,1)
-#  define ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((__externally_visible__))
+#  define EXTERNALLY_VISIBLE __attribute__(( visibility("default") ));
+//__attribute__ ((__externally_visible__))
 # else
-#  define ATTRIBUTE_EXTERNALLY_VISIBLE
+#  define EXTERNALLY_VISIBLE
 # endif /* GNUC >= 4.1 */
 
 /* We use __extension__ in some places to suppress -pedantic warnings
index e21ad57ccba6522951c86c57912d5a359eba7a39..d9f8b1afc553725bbdc3e6cc9e216578f8545bb1 100644 (file)
@@ -10,7 +10,7 @@
 #include "libbb.h"
 #include <sys/reboot.h>
 
-int halt_main(int argc, char **argv);
+int halt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int halt_main(int argc, char **argv)
 {
        static const int magic[] = {
index 5e84011632a3637d2e1a607751bd5a60d330542e..409e8c41fa2f7ceb2cba5adfa15abb45d734b487 100644 (file)
@@ -882,7 +882,7 @@ static void reload_signal(int sig ATTRIBUTE_UNUSED)
 }
 #endif  /* FEATURE_USE_INITTAB */
 
-int init_main(int argc, char **argv);
+int init_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int init_main(int argc, char **argv)
 {
        struct init_action *a;
index 1a576cb37d993755cee3b7b12eda0e91326393f2..cfb517f60a4d43aebfa8ff9fdd02a7b93b52ece0 100644 (file)
@@ -15,7 +15,7 @@
 #define S_IWGRP_OR_S_IWOTH     (S_IWGRP | S_IWOTH)
 #endif
 
-int mesg_main(int argc, char **argv);
+int mesg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mesg_main(int argc, char **argv)
 {
        struct stat sb;
index 537a5240f188f31131e5752a97cad5b8e6b8bd74..98b075ff1ca84cb37b9a77bbd38789ed247b3e88 100644 (file)
@@ -133,7 +133,7 @@ static void sig_child_handler(int sig)
                connection_status();
 }
 
-int tcpudpsvd_main(int argc, char **argv);
+int tcpudpsvd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tcpudpsvd_main(int argc, char **argv)
 {
        char *str_c, *str_C, *str_b, *str_t;
index 7808df501de6921f5dab1a293a76a7a3e19d0f44..953f1e7e5e7b36711f10fa43c61da4817b57a0b9 100644 (file)
@@ -127,7 +127,7 @@ const struct bb_applet *find_applet_by_name(const char *name)
 int *const bb_errno __attribute__ ((section (".data")));
 #endif
 
-void bbox_prepare_main(char **argv)
+void lbb_prepare(char **argv)
 {
 #ifdef __GLIBC__
        (*(int **)&bb_errno) = __errno_location();
@@ -661,12 +661,12 @@ void run_applet_and_exit(const char *name, char **argv)
 
 
 #if ENABLE_BUILD_LIBBUSYBOX
-int libbusybox_main(int argc, char **argv)
+int lbb_main(int argc, char **argv)
 #else
 int main(int argc, char **argv)
 #endif
 {
-       bbox_prepare_main(argv);
+       lbb_prepare(argv);
 
 #if !BB_MMU
        /* NOMMU re-exec trick sets high-order bit in first byte of name */
index b213074a65c731211f2c2397632e9796fca39ee8..9b2c6790fc4456f43403f69ac1dd8a5cc92f4274 100644 (file)
@@ -122,7 +122,7 @@ static void add_user_to_group(char **args,
  * If called with two non-option arguments, addgroup
  * will add an existing user to an existing group.
  */
-int addgroup_main(int argc, char **argv);
+int addgroup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int addgroup_main(int argc, char **argv)
 {
        char *group;
index 149ea9c4b05f18d32cee309a6f7c0209dde88f02..5c624285fb2d2d271cef71694b9cc5a9edb362e0 100644 (file)
@@ -165,7 +165,7 @@ static int adduser(struct passwd *p)
  *
  * can be customized via command-line parameters.
  */
-int adduser_main(int argc, char **argv);
+int adduser_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int adduser_main(int argc, char **argv)
 {
        struct passwd pw;
index 61f9b896acc194f9ec9d05319ebacbb8d4a0d53e..7d47899fe1df08bc2b805725ad564c44254fd516 100644 (file)
@@ -20,7 +20,7 @@ static const char chpasswd_longopts[] ALIGN1 =
 #define OPT_ENC                1
 #define OPT_MD5                2
 
-int chpasswd_main(int argc, char **argv);
+int chpasswd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chpasswd_main(int argc, char **argv)
 {
        char *name, *pass;
index 0847857de344a2fea633370d1ecb4835271614c1..06817a681c9da7adf9fa5cc6594d390a8172b332 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "libbb.h"
 
-int cryptpw_main(int argc, char **argv);
+int cryptpw_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int cryptpw_main(int argc, char **argv)
 {
        char salt[sizeof("$N$XXXXXXXX")];
index 0e4f02ddca5c620394d71791107b72d7d335e9eb..c67ad7200196891ac9734d0a0111bff6825ad877 100644 (file)
@@ -93,7 +93,7 @@ static void del_line_matching(char **args,
        free(new);
 }
 
-int deluser_main(int argc, char **argv);
+int deluser_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int deluser_main(int argc, char **argv)
 {
        if (argc == 2
index db8d7cef5c671f04a30664a672441b9cfa4b098c..bc735d0c47337793794facc225c3324664fe85b5 100644 (file)
@@ -699,7 +699,7 @@ static void update_utmp(const char *line)
 #endif /* SYSV_STYLE */
 
 
-int getty_main(int argc, char **argv);
+int getty_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int getty_main(int argc, char **argv)
 {
        int nullfd;
index dfdc58b30b1d58802cec4f1bb22c4d5b34f563f5..bddc0f533886971b2dc62942a462745039c26d77 100644 (file)
@@ -219,7 +219,7 @@ static void alarm_handler(int sig ATTRIBUTE_UNUSED)
        exit(EXIT_SUCCESS);
 }
 
-int login_main(int argc, char **argv);
+int login_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int login_main(int argc, char **argv)
 {
        enum {
index ce333b49e29f89f5af5cea14e0d84be360f63c22..99afde2233eb7876e123116fa3c83c4e1986870a 100644 (file)
@@ -70,7 +70,7 @@ static char* new_password(const struct passwd *pw, uid_t myuid, int algo)
        return ret;
 }
 
-int passwd_main(int argc, char **argv);
+int passwd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int passwd_main(int argc, char **argv)
 {
        enum {
index 123907e28cb2ffe1658c5e88a8a118b76eaffbf6..8c55170ca165f77fdee46b5396d96440ecf60fab 100644 (file)
@@ -11,7 +11,7 @@
 #define SU_OPT_mp (3)
 #define SU_OPT_l (4)
 
-int su_main(int argc, char **argv);
+int su_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int su_main(int argc, char **argv)
 {
        unsigned flags;
index 5c73bda93e5eb433a32d8941f360fffcdc9c9938..7f100a1622733590a10dedda1cc96b02473cc49e 100644 (file)
@@ -34,7 +34,7 @@ static void catchalarm(int ATTRIBUTE_UNUSED junk)
 }
 
 
-int sulogin_main(int argc, char **argv);
+int sulogin_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sulogin_main(int argc, char **argv)
 {
        char *cp;
index 8e3a1ea4b3a0b1646945816f9cc256405521e660..6e928e2391d2098d51f9fbb7e97a65e395534615 100644 (file)
@@ -33,7 +33,7 @@ static void acquire_vt(int signo)
        ioctl(vfd, VT_RELDISP, VT_ACKACQ);
 }
 
-int vlock_main(int argc, char **argv);
+int vlock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int vlock_main(int argc, char **argv)
 {
        sigset_t sig;
index b11807d758e9d52405367625a88d5b1f804c07b7..67dd0a93beca6a3bf20b0a4efcf41a3f584d08e0 100644 (file)
@@ -43,7 +43,7 @@ static const char *const ret_code_descript[] = {
        "clock not synchronized"
 };
 
-int adjtimex_main(int argc, char **argv);
+int adjtimex_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int adjtimex_main(int argc, char **argv)
 {
        enum {
index 803d1d94b57e7546fc1de8560a59f98d31b1ecc7..ee566788b4d0de9d59e22673c01a91970d40a17e 100644 (file)
@@ -4,7 +4,7 @@
 #include "libbb.h"
 #include "bbconfigopts.h"
 
-int bbconfig_main(int argc, char **argv);
+int bbconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int bbconfig_main(int argc, char **argv)
 {
        printf(bbconfig_config);
index 1f5465c403806b37937c1b62faf082cfaad6f307..418e7ae7925f216eb8bd8f94cfba6c23604fad78 100644 (file)
@@ -41,8 +41,8 @@ static void show_min_max(int pol)
 #define OPT_f (1<<3)
 #define OPT_o (1<<4)
 
-int chrt_main(int argc, char** argv);
-int chrt_main(int argc, char** argv)
+int chrt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int chrt_main(int argc, char **argv)
 {
        pid_t pid = 0;
        unsigned opt;
index fa7b3da08359a5898d994e0e44f8271030c0cfec..8ee7e5837174d3af47ad6e904eef0b0170586197 100644 (file)
@@ -128,7 +128,7 @@ static void crondlog(const char *ctl, ...)
        }
 }
 
-int crond_main(int ac, char **av);
+int crond_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int crond_main(int ac, char **av)
 {
        unsigned opt;
index 1b827d7913818323df4261ab2297764b244e2cea..6d245da90d7f97eab059a4ed466c6700832410b0 100644 (file)
@@ -31,7 +31,7 @@ static void EditFile(const char *user, const char *file);
 static int GetReplaceStream(const char *user, const char *file);
 static int ChangeUser(const char *user, short dochdir);
 
-int crontab_main(int ac, char **av);
+int crontab_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int crontab_main(int ac, char **av)
 {
        enum { NONE, EDIT, LIST, REPLACE, DELETE } option = NONE;
index ced5149df93103dd3af31cfd87b1f7ac21fc3764..ffc3f8df4ea7f327eb448fd257e5615d2982cd04 100644 (file)
@@ -197,7 +197,7 @@ static int number_of_tokens(char *buffer)
        return i;
 }
 
-int dc_main(int argc, char **argv);
+int dc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dc_main(int argc, char **argv)
 {
        /* take stuff from stdin if no args are given */
index 734d4a7d9e0afb3bd184a6ebc3d37d64d8d38d3d..cd94869ae63f888b86ccb5690cfb4c5a21acbafb 100644 (file)
@@ -336,7 +336,7 @@ static unsigned int scan_dev_name(const char *d, unsigned int n, const char *ptr
 
 /*  Public functions follow  */
 
-int devfsd_main(int argc, char **argv);
+int devfsd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int devfsd_main(int argc, char **argv)
 {
        int print_version = FALSE;
index e66d74e700656488a946ed1e75f0bcbcd76f52e8..99f01aba9256af7fc3842cfc51372bf481d083a7 100644 (file)
@@ -25,7 +25,7 @@
 #define FLAG_CLOSE  1
 #define FLAG_SMART  2
 
-int eject_main(int argc, char **argv);
+int eject_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int eject_main(int argc, char **argv)
 {
        unsigned long flags;
index 365e24cbae6840522582044a9d108e79919268b6..869a5b246d79b6fa50105e1a8b4a8cc65a476147 100644 (file)
@@ -2005,7 +2005,7 @@ static const char hdparm_options[] ALIGN1 =
 /*-------------------------------------*/
 
 /* our main() routine: */
-int hdparm_main(int argc, char **argv);
+int hdparm_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hdparm_main(int argc, char **argv)
 {
        int c;
index f38c4b8782b61328cba9fd47979f52fc3d9167c8..fc5916ec2164d126a08bc99ec182b190e6d6be02 100644 (file)
@@ -26,7 +26,7 @@
 #error struct utmp member char[] size(s) have changed!
 #endif
 
-int last_main(int argc, char **argv);
+int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int last_main(int argc, char **argv)
 {
        struct utmp ut;
index b1e5ce93f5400be7eea277660d65823eb9c42a58..5ffebcd6da5a49344977e6f9b25549ac9444bc2f 100644 (file)
@@ -1311,7 +1311,7 @@ static void sig_catcher(int sig ATTRIBUTE_UNUSED)
        exit(1);
 }
 
-int less_main(int argc, char **argv);
+int less_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int less_main(int argc, char **argv)
 {
        int keypress;
index d36c6956af279dc6590931c2532d66250d25aa5f..1f88f34288437c1e5daf4cba2193cf308d886776 100644 (file)
@@ -10,7 +10,7 @@
 #include "libbb.h"
 
 #if ENABLE_FEATURE_MAKEDEVS_LEAF
-int makedevs_main(int argc, char **argv);
+int makedevs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int makedevs_main(int argc, char **argv)
 {
        mode_t mode;
@@ -69,7 +69,7 @@ int makedevs_main(int argc, char **argv)
 
 /* Licensed under the GPL v2 or later, see the file LICENSE in this tarball. */
 
-int makedevs_main(int argc, char **argv);
+int makedevs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int makedevs_main(int argc, char **argv)
 {
        FILE *table = stdin;
index e097dc4374006ec9241a6ad96785b080cf197076..1235f0634752ec48a47bdbfd11325e4cb873888e 100644 (file)
@@ -9,7 +9,7 @@
  */
 #include "libbb.h"
 
-int microcom_main(int argc, char **argv);
+int microcom_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int microcom_main(int argc, char **argv)
 {
        struct pollfd pfd[2];
index 376bd953130041a4cfd914338eb8d485a68adfb9..5647e4c5b289f96e4af31e880a05d1310433d3b6 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int mountpoint_main(int argc, char **argv);
+int mountpoint_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mountpoint_main(int argc, char **argv)
 {
        struct stat st;
index b9bc2a11bc7c457cf3f2b15ebe6ee61043be7a70..be1f21a12dfa903b5fcd5fa6d1dad49e0d9a417d 100644 (file)
@@ -50,7 +50,7 @@ static const struct mt_opcodes opcodes[] = {
        {0, 0}
 };
 
-int mt_main(int argc, char **argv);
+int mt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mt_main(int argc, char **argv)
 {
        const char *file = "/dev/tape";
index edcb6d66d15a2f93d6ec22323f83841e0d600a5f..2766245dbab9c03fbec6f0ee23ee0b5a596e8360 100644 (file)
@@ -13,7 +13,7 @@
 #include <linux/major.h>
 #include <linux/raid/md_u.h>
 
-int raidautorun_main(int argc, char **argv);
+int raidautorun_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int raidautorun_main(int argc, char **argv)
 {
        if (argc != 2)
index 103ce8e5d4f079fc4fbf9bf4fefa47f0697ee082..647eb312159338471cd67369642016282874c491 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "libbb.h"
 
-int readahead_main(int argc, char **argv);
+int readahead_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int readahead_main(int argc, char **argv)
 {
        FILE *f;
index f51a647be50c18df165cc71a5212aaa61f3b9abb..04064ee73d7d1461383a24cae7adddfa777b7858 100644 (file)
@@ -15,7 +15,7 @@
 #include <utmp.h>
 #include "libbb.h"
 
-int runlevel_main(int argc, char **argv);
+int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int runlevel_main(int argc, char **argv)
 {
        struct utmp *ut;
index 675aad2a0513a62b6a5f7cc7cbe8690929d6adb4..898703c592a377a80361e54955934048be271f44 100644 (file)
@@ -249,7 +249,7 @@ static void sigalrm_handler(int ATTRIBUTE_UNUSED signum)
 {
 }
 
-int rx_main(int argc, char **argv);
+int rx_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rx_main(int argc, char **argv)
 {
        char *fn;
index 8d738edfbfec1f0c1dade53ce2edb08cfcd6ca63..110bb6bb6434f77bc91edcd7338a9200384ec64f 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "libbb.h"
 
-int setsid_main(int argc, char **argv);
+int setsid_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setsid_main(int argc, char **argv)
 {
        if (argc < 2)
index b7f5a0b57c4a46d08d0dd5bd6a4045f1d6544a8d..d75becceac86e4f3e6e024f455bd64491a561ba7 100644 (file)
@@ -16,7 +16,7 @@
 #define PRINT_OFFSET   4
 #define SIZE                   8
 
-int strings_main(int argc, char **argv);
+int strings_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int strings_main(int argc, char **argv)
 {
        int n, c, status = EXIT_SUCCESS;
index 3c117da924422a9a98069a7f064c9c09a3c8fab3..e64fd655bf298fbbe29dc7ef95e64b40305ce5af 100644 (file)
@@ -41,8 +41,8 @@ static char *__from_cpuset(cpu_set_t *mask)
 
 #define OPT_p 1
 
-int taskset_main(int argc, char** argv);
-int taskset_main(int argc, char** argv)
+int taskset_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int taskset_main(int argc, char **argv)
 {
        cpu_set_t mask, new_mask;
        pid_t pid = 0;
index 8f79a51ecfa6eaa33d0396644eb5570fb1080d28..d21944e01704152e445849c3d79b1445c4e640dd 100644 (file)
@@ -402,7 +402,7 @@ static void run_command(char *const *cmd, resource_t * resp)
        signal(SIGQUIT, quit_signal);
 }
 
-int time_main(int argc, char **argv);
+int time_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int time_main(int argc, char **argv)
 {
        resource_t res;
index 292cfb87678399cd9eb198ee5ce97591471b32a7..f51b328eaa5e81db290a3df39ce88f953106b362 100644 (file)
@@ -11,7 +11,7 @@
  */
 #include "libbb.h"
 
-int ttysize_main(int argc, char **argv);
+int ttysize_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ttysize_main(int argc, char **argv)
 {
        unsigned w,h;
index 14bd44f48236a2935216a658414d44aa63690d4c..e040c64fdcb867af7d903e0b4f1de54dfa8941ae 100644 (file)
@@ -24,7 +24,7 @@ static void watchdog_shutdown(int ATTRIBUTE_UNUSED sig)
        exit(0);
 }
 
-int watchdog_main(int argc, char **argv);
+int watchdog_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int watchdog_main(int argc, char **argv)
 {
        unsigned opts;
index d7e4bef68f6d57fab81e021483851078e72cdcb9..6f3b7d0f46383441d086129e19481bc1515cf6b2 100644 (file)
@@ -72,7 +72,7 @@
 #endif
 
 #if ENABLE_FEATURE_2_6_MODULES
-extern int insmod_ng_main(int argc, char **argv);
+extern int insmod_ng_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 #endif
 
 
@@ -3952,8 +3952,8 @@ static void print_load_map(struct obj_file *f)
 void print_load_map(struct obj_file *f);
 #endif
 
-int insmod_main( int argc, char **argv);
-int insmod_main( int argc, char **argv)
+int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int insmod_main(int argc, char **argv)
 {
        char *opt_o, *arg1;
        int len;
@@ -4261,7 +4261,7 @@ static const char *moderror(int err)
        }
 }
 
-int insmod_ng_main(int argc, char **argv);
+int insmod_ng_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int insmod_ng_main(int argc, char **argv)
 {
        long ret;
index 09b03d029c72e347ba2fd0bb7626891e035b4b82..70146814cdee746ee83b7a8b2e62d902d4b93951 100644 (file)
@@ -74,7 +74,7 @@ enum {
        NEW_MOD_INITIALIZING = 64
 };
 
-int lsmod_main(int argc, char **argv);
+int lsmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int lsmod_main(int argc, char **argv)
 {
        struct module_info info;
@@ -140,7 +140,7 @@ int lsmod_main(int argc, char **argv)
 
 #else /* CONFIG_FEATURE_QUERY_MODULE_INTERFACE */
 
-int lsmod_main(int argc, char **argv);
+int lsmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int lsmod_main(int argc, char **argv)
 {
        FILE *file = xfopen("/proc/modules", "r");
index 36a3c35359b703eba3815eae7968bf55ee2faa3b..a67ddea9b59e382a618670eb1d1f3e5c8b0aba70 100644 (file)
@@ -861,8 +861,8 @@ static int mod_remove(char *mod)
        return rc;
 }
 
-int modprobe_main(int argc, char** argv);
-int modprobe_main(int argc, char** argv)
+int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int modprobe_main(int argc, char **argv)
 {
        int rc = EXIT_SUCCESS;
        char *unused;
index ba3e88ca6aa1d48763efa8b14d984f898a6e04b6..61cfbd1473ae6bfcd7e488c96d3240667c9f1f2f 100644 (file)
@@ -38,7 +38,7 @@ void filename2modname(char *modname, const char *afterslash);
 int query_module(const char *name, int which, void *buf,
                        size_t bufsize, size_t *ret);
 
-int rmmod_main(int argc, char **argv);
+int rmmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rmmod_main(int argc, char **argv)
 {
        int n, ret = EXIT_SUCCESS;
index 8cdee18325c7bec125d4510c8d80d0353b8b5b20..36985fc5ad8b5ce01317e3667772b4efd51ad886 100644 (file)
@@ -434,7 +434,7 @@ static int arp_show(char *name)
        return 0;
 }
 
-int arp_main(int argc, char **argv);
+int arp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int arp_main(int argc, char **argv)
 {
        char *hw_type;
index a2c4c22472f598882eefb444d93459a11346e004..44615d5b1aada5783f3dbe442b6ba645f82d227c 100644 (file)
@@ -227,7 +227,7 @@ static int recv_pack(unsigned char *buf, int len, struct sockaddr_ll *FROM)
        return 1;
 }
 
-int arping_main(int argc, char **argv);
+int arping_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int arping_main(int argc, char **argv)
 {
        const char *device = "eth0";
index c906de32a2dba1953a5b2906c775de94d6d2bf91..8f01d5c06f2b0738cc28fb422deb4d2810777821 100644 (file)
@@ -328,7 +328,7 @@ static void interrupt(int x)
        exit(2);
 }
 
-int dnsd_main(int argc, char **argv);
+int dnsd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dnsd_main(int argc, char **argv)
 {
        const char *listen_interface = "0.0.0.0";
index fc26ad07d127e5214dfdf8237077f72e48c93b31..b752152e1ef813c7be27b589a33eebc3777d0e09 100644 (file)
@@ -178,7 +178,7 @@ static int get_wol_pw(const char *ethoptarg, unsigned char *wol_passwd)
        return byte_cnt;
 }
 
-int ether_wake_main(int argc, char **argv);
+int ether_wake_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ether_wake_main(int argc, char **argv)
 {
        const char *ifname = "eth0";
index 58847a9f2b7a48ed396bf37fd3889265473ab492..587f000ce4f9e1487becb95e11c2c6c15e7a5cdd 100644 (file)
@@ -296,7 +296,7 @@ static const char ftpgetput_longopts[] ALIGN1 =
        ;
 #endif
 
-int ftpgetput_main(int argc, char **argv);
+int ftpgetput_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ftpgetput_main(int argc, char **argv)
 {
        /* content-length of the file */
index 6783dbacb38cd41066b716f82b924a71b00b0af0..2c224bef905fc5afc6c1b4ddb3a0e4a88f24d6c2 100644 (file)
@@ -42,7 +42,7 @@ static void do_sethostname(char *s, int isfile)
        }
 }
 
-int hostname_main(int argc, char **argv);
+int hostname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hostname_main(int argc, char **argv)
 {
        enum {
index 06a5a56bc4ba5c4630f08d49db47ef9770bf4309..61185025caf5f95abaabf6392b56be842c9309ca 100644 (file)
@@ -2111,7 +2111,7 @@ enum {
 };
 
 
-int httpd_main(int argc, char **argv);
+int httpd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int httpd_main(int argc, char **argv)
 {
        int server_socket = server_socket; /* for gcc */
index 0d53676cda5fcd686594236e2e17e38e19313fd0..3dcb118ee0f127d1d85be59d1a06e83ebc321464 100644 (file)
@@ -261,7 +261,7 @@ static int in_ether(const char *bufp, struct sockaddr *sap);
  * Our main function.
  */
 
-int ifconfig_main(int argc, char **argv);
+int ifconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ifconfig_main(int argc, char **argv)
 {
        struct ifreq ifr;
index bd53f93e8e86265d2f2d8eb670148be788cc89d3..c4d72524dc664edacfac3d71d96cce972b4441d9 100644 (file)
@@ -1133,7 +1133,7 @@ static llist_t *read_iface_state(void)
 }
 
 
-int ifupdown_main(int argc, char **argv);
+int ifupdown_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ifupdown_main(int argc, char **argv)
 {
        int (*cmds)(struct interface_defn_t *) = NULL;
index 6d72e13e8fca498247a8c5a770906305e041aeff..9ea7f9cc1a73d417e7c430998ccebbd6cec1ccca 100644 (file)
@@ -1303,7 +1303,7 @@ inetd_setproctitle(char *a, int s)
 #endif
 
 
-int inetd_main(int argc, char **argv);
+int inetd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int inetd_main(int argc, char **argv)
 {
        servtab_t *sep;
index c82d731c13429d6f26fd6342fa4f64a9a98a536a..3ea1b62e175314306d439c360645d7be6be1b651 100644 (file)
@@ -38,7 +38,7 @@ static int ip_do(int argc, char **argv)
 }
 
 #if ENABLE_FEATURE_IP_ADDRESS
-int ipaddr_main(int argc, char **argv);
+int ipaddr_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ipaddr_main(int argc, char **argv)
 {
     ip_func = do_ipaddr;
@@ -46,7 +46,7 @@ int ipaddr_main(int argc, char **argv)
 }
 #endif
 #if ENABLE_FEATURE_IP_LINK
-int iplink_main(int argc, char **argv);
+int iplink_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int iplink_main(int argc, char **argv)
 {
     ip_func = do_iplink;
@@ -54,7 +54,7 @@ int iplink_main(int argc, char **argv)
 }
 #endif
 #if ENABLE_FEATURE_IP_ROUTE
-int iproute_main(int argc, char **argv);
+int iproute_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int iproute_main(int argc, char **argv)
 {
     ip_func = do_iproute;
@@ -62,7 +62,7 @@ int iproute_main(int argc, char **argv)
 }
 #endif
 #if ENABLE_FEATURE_IP_RULE
-int iprule_main(int argc, char **argv);
+int iprule_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int iprule_main(int argc, char **argv)
 {
     ip_func = do_iprule;
@@ -70,7 +70,7 @@ int iprule_main(int argc, char **argv)
 }
 #endif
 #if ENABLE_FEATURE_IP_TUNNEL
-int iptunnel_main(int argc, char **argv);
+int iptunnel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int iptunnel_main(int argc, char **argv)
 {
     ip_func = do_iptunnel;
@@ -79,7 +79,7 @@ int iptunnel_main(int argc, char **argv)
 #endif
 
 
-int ip_main(int argc, char **argv);
+int ip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ip_main(int argc, char **argv)
 {
        static const char keywords[] ALIGN1 =
index 759704379f932193476d2362800f6587405564a4..d7c968c257da88793e4c8a268d4f3396b3e805a9 100644 (file)
@@ -75,7 +75,7 @@ int get_prefix(unsigned long netmask);
                ;
 #endif
 
-int ipcalc_main(int argc, char **argv);
+int ipcalc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ipcalc_main(int argc, char **argv)
 {
        unsigned opt;
index 9bc3b607d15e15ad8f17654de51cf13e318fc847..a93de124418defbe1c49716ed2aaf917e5cd79a8 100644 (file)
@@ -92,7 +92,7 @@ static void inetd_mode(void)
        while (do_rd(0, (void*)&buf) == 0);
 }
 
-int fakeidentd_main(int argc, char **argv);
+int fakeidentd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fakeidentd_main(int argc, char **argv)
 {
        enum {
index 2114516a7af980feae6d27b5cc55bf8ed795833e..0369c0807af2eda674954a498ad5b9e32f89cb42 100644 (file)
@@ -55,7 +55,7 @@ static struct ether_addr *cc_macaddr(const char *str_macaddr)
        return mac;
 }
 
-int nameif_main(int argc, char **argv);
+int nameif_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nameif_main(int argc, char **argv)
 {
        mactable_t *clist = NULL;
index 19750e59e3a3442511582c9ef08b66d8fff5f8a9..b2f590adf42c0528b5f7d5332755cab2a5768b10 100644 (file)
@@ -22,7 +22,7 @@ static void timeout(int signum)
        bb_error_msg_and_die("timed out");
 }
 
-int nc_main(int argc, char **argv);
+int nc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nc_main(int argc, char **argv)
 {
        /* sfd sits _here_ only because of "repeat" option (-l -l). */
index ab82465310c6914b7b387380304150833006eb5f..cbc0a647199dad47cf1b507cba6c85ee565df1ae 100644 (file)
@@ -668,7 +668,7 @@ Debug("wrote %d to net, errno %d", rr, errno);
 } /* readwrite */
 
 /* main: now we pull it all together... */
-int nc_main(int argc, char **argv);
+int nc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nc_main(int argc, char **argv)
 {
        char *str_p, *str_s, *str_w;
index e5ed10eb41cd11d58f3eb71f6bd7f32886be0958..11f1419470ec31df83dd870cdbe7617b77dd5980 100644 (file)
@@ -484,7 +484,7 @@ static void do_info(const char *file, const char *name, void (*proc)(int, const
  * Our main function.
  */
 
-int netstat_main(int argc, char **argv);
+int netstat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int netstat_main(int argc, char **argv)
 {
        const char *net_conn_line_header = PRINT_NET_CONN_HEADER;
index fab7e3efc46c7150e557fabb7c22d7bc63c64761..183ae152de0bcfe8493798adbb4edc6bfd99b24a 100644 (file)
@@ -127,7 +127,7 @@ static void set_default_dns(char *server)
        }
 }
 
-int nslookup_main(int argc, char **argv);
+int nslookup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nslookup_main(int argc, char **argv)
 {
        /* We allow 1 or 2 arguments.
index 5d61cd768058ddaf30300c60e7b4e0a9c9f9ea3c..8b70d9a33500b991075dd370c8435f0094252b54 100644 (file)
@@ -173,7 +173,7 @@ static void ping6(len_and_sockaddr *lsa)
 }
 #endif
 
-int ping_main(int argc, char **argv);
+int ping_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ping_main(int argc, char **argv)
 {
        len_and_sockaddr *lsa;
@@ -676,7 +676,7 @@ static void ping(len_and_sockaddr *lsa)
                ping4(lsa);
 }
 
-int ping_main(int argc, char **argv);
+int ping_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ping_main(int argc, char **argv)
 {
        len_and_sockaddr *lsa;
@@ -724,7 +724,7 @@ int ping_main(int argc, char **argv)
 
 
 #if ENABLE_PING6
-int ping6_main(int argc, char **argv);
+int ping6_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ping6_main(int argc, char **argv)
 {
        argv[0] = (char*)"-6";
index 5ae3e61ddbc7dd39abb985ba2e21391950ef5a90..d18f8dbd9932b4975e6a1175b2c45f6a87a03d6c 100644 (file)
@@ -30,7 +30,7 @@ static const char *port_name(unsigned port)
 /* We don't expect to see 1000+ seconds delay, unsigned is enough */
 #define MONOTONIC_US() ((unsigned)monotonic_us())
 
-int pscan_main(int argc, char **argv);
+int pscan_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pscan_main(int argc, char **argv)
 {
        const char *opt_max_port = "1024";      /* -P: default max port */
index 55a6c2155d84858a067118d8801d17a4e89f6541..3425e639791582608518a6d89e82e3e77020e0a2 100644 (file)
@@ -640,7 +640,7 @@ static const char tbl_verb[] ALIGN1 =
        "\010\002delete"  /* Since it's last, we can save a byte. */
 ;
 
-int route_main(int argc, char **argv);
+int route_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int route_main(int argc, char **argv)
 {
        unsigned opt;
index ce6d705a8a617d38e7994ab3a8527367d3e4102d..17df4fa9e67851d8233c6347fa4c62a213eac190 100644 (file)
@@ -119,7 +119,7 @@ static void sig_handler(int signo)
        restore_state_and_exit(0);
 }
 
-int slattach_main(int argc, char **argv);
+int slattach_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int slattach_main(int argc, char **argv)
 {
        /* Line discipline code table */
index ae526fa9ef5c912e9c15fb696dee7ddc64274e80..9085c5848ac55c6ebee914a381561ed6d966783d 100644 (file)
@@ -550,8 +550,8 @@ static void cookmode(void)
                tcsetattr(0, TCSADRAIN, &G.termios_def);
 }
 
-int telnet_main(int argc, char** argv);
-int telnet_main(int argc, char** argv)
+int telnet_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int telnet_main(int argc, char **argv)
 {
        char *host;
        int port;
index b21991212cacd05fa56ffc15758b45f33c4964b1..27dde1ae4475523c19d3bfa436e26628b5a9b020 100644 (file)
@@ -360,7 +360,7 @@ void free_session(struct tsession *ts);
 #endif
 
 
-int telnetd_main(int argc, char **argv);
+int telnetd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int telnetd_main(int argc, char **argv)
 {
        fd_set rdfdset, wrfdset;
index 59f53ae4a735e026566667ac1e7fed221970268d..a2683971a87e6c88f9f6ef5f179b0841347efb2f 100644 (file)
@@ -391,7 +391,7 @@ static int tftp( USE_GETPUT(const int cmd,)
        return finished == 0; /* returns 1 on failure */
 }
 
-int tftp_main(int argc, char **argv);
+int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tftp_main(int argc, char **argv)
 {
        len_and_sockaddr *peer_lsa;
index e8d486f4ced2a29304c6292d4cf3cf19a6bcaea1..773fc6a8b6681fce5a562da169e8c9800b14a07a 100644 (file)
@@ -889,7 +889,7 @@ print_delta_ms(unsigned t1p, unsigned t2p)
        printf("  %u.%03u ms", tt/1000, tt%1000);
 }
 
-int traceroute_main(int argc, char **argv);
+int traceroute_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int traceroute_main(int argc, char **argv)
 {
        int code, n;
index 21b496c0b4e79972b21371fb2b35aae3d23e450e..e00379b2a252559bba5744b9cdb5b5bd2fa37342 100644 (file)
@@ -140,7 +140,7 @@ static uint8_t* alloc_dhcp_option(int code, const char *str, int extra)
 }
 
 
-int udhcpc_main(int argc, char **argv);
+int udhcpc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int udhcpc_main(int argc, char **argv)
 {
        uint8_t *temp, *message;
index 4343f1c0ed97092cf1e1f3d6decb7aa271fd3403..9679e086cba111971c89d796f823592d04ea641b 100644 (file)
@@ -21,7 +21,7 @@ struct dhcpOfferedAddr *leases;
 /* struct server_config_t server_config is in bb_common_bufsiz1 */
 
 
-int udhcpd_main(int argc, char **argv);
+int udhcpd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int udhcpd_main(int argc, char **argv)
 {
        fd_set rfds;
index 91fcb151be2a0533f845bf8d2c24d496247c6dda..42378d602dc47f2ba9069f8623f482bdb2459894 100644 (file)
@@ -279,7 +279,7 @@ static void dhcprelay_loop(int *fds, int num_sockets, int max_socket, char **cli
        }
 }
 
-int dhcprelay_main(int argc, char **argv);
+int dhcprelay_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dhcprelay_main(int argc, char **argv)
 {
        int num_sockets, max_socket;
index 3e931c0b57ee2b2d80807b8b13dbca2757363ff0..218e6bc572f3388c3b9d67f8f9cf7b761aa8fd91 100644 (file)
@@ -7,7 +7,7 @@
 #include "common.h"
 #include "dhcpd.h"
 
-int dumpleases_main(int argc, char **argv);
+int dumpleases_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dumpleases_main(int argc, char **argv)
 {
        int fd;
index 8bd88701f8c31252a9b58188d844073ac981c0f7..7b6c2fa0404785538c921a1efb732ef0d3a815d4 100644 (file)
@@ -106,7 +106,7 @@ static const char name_types[] ALIGN1 = {
 
 static const char conf_file_name[] ALIGN1 = "/proc/net/vlan/config";
 
-int vconfig_main(int argc, char **argv);
+int vconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int vconfig_main(int argc, char **argv)
 {
        struct vlan_ioctl_args ifr;
index 3f9954cf5dcfc440d0e052122f98a155a070860c..b12d19af21e5394834f0a486cc95086bcab72b12 100644 (file)
@@ -391,7 +391,7 @@ static char *gethdr(char *buf, size_t bufsiz, FILE *fp /*, int *istrunc*/)
 }
 
 
-int wget_main(int argc, char **argv);
+int wget_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int wget_main(int argc, char **argv)
 {
        char buf[512];
index 62350c640d7872ce3cab58d5013d9ece1d707635..a16a6420c4f5f5604ee9112e66cfef58681412ff 100644 (file)
@@ -156,7 +156,7 @@ static unsigned ALWAYS_INLINE ms_rdelay(unsigned secs)
 /**
  * main program
  */
-int zcip_main(int argc, char **argv);
+int zcip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int zcip_main(int argc, char **argv)
 {
        int state = PROBE;
index 42193fdec9889c1f09b372db47bf1e9be8cfa588..e76dd21a5f06a1e05c8ac12e48746562c61c70cc 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int free_main(int argc, char **argv);
+int free_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int free_main(int argc, char **argv)
 {
        struct sysinfo info;
index 60c10956bcfb283b81a6ebe93169d45c61b1bce4..36d634d9117d998ce92c9828871698bd3c2bde32 100644 (file)
@@ -316,7 +316,7 @@ static int fuser_kill_pid_list(pid_list *plist, int sig)
        return success;
 }
 
-int fuser_main(int argc, char **argv);
+int fuser_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fuser_main(int argc, char **argv)
 {
        /*static -- huh???*/ int opt = 0; /* FUSER_OPT_ */
index 323ee7bf4e6bd531bc2df47d62e73183194c8cee..0c7c1608f1b9c33b6ec60079e299d3ec9892e65e 100644 (file)
@@ -24,7 +24,7 @@
  * This is needed to avoid collision with kill -9 ... syntax
  */
 
-int kill_main(int argc, char **argv);
+int kill_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int kill_main(int argc, char **argv)
 {
        char *arg;
index 127a3d1c132b78ba866e8f3464879da5962cacfd..b846ee5b65ef9c645de216179e690ab6acfc02f6 100644 (file)
@@ -770,7 +770,7 @@ static init_func *const init_functions[] = {
        init_cr
 };
 
-int nmeter_main(int argc, char **argv);
+int nmeter_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int nmeter_main(int argc, char **argv)
 {
        char buf[32];
index c5747a163eb2275ac935b1bfedfae11e96342933..f5d4cfcc10b0a13ee9117eff96e14327bd828f1c 100644 (file)
@@ -44,7 +44,7 @@ static void act(unsigned pid, char *cmd, int signo, unsigned opt)
                kill(pid, signo);
 }
 
-int pgrep_main(int argc, char **argv);
+int pgrep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pgrep_main(int argc, char **argv)
 {
        unsigned pid = getpid();
index 96294525390abc2ac80c720bc046d1751cd63d1a..f29561789d6073ce06179ec443ebb257584779bf 100644 (file)
@@ -16,7 +16,7 @@ enum {
        OPT_OMIT   = USE_FEATURE_PIDOF_OMIT(  (1<<OPTBIT_OMIT  )) + 0,
 };
 
-int pidof_main(int argc, char **argv);
+int pidof_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pidof_main(int argc, char **argv)
 {
        unsigned first = 1;
index f5c801d205501e5d6cbad7cf7c0b48cbb6db81d6..08922ebb6563154d06bb6e241e1ed09fe45c95e4 100644 (file)
@@ -278,7 +278,7 @@ static void format_process(const procps_status_t *ps)
        printf("%.*s\n", terminal_width, buffer);
 }
 
-int ps_main(int argc, char **argv);
+int ps_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ps_main(int argc, char **argv)
 {
        procps_status_t *p;
@@ -340,7 +340,7 @@ int ps_main(int argc, char **argv)
 #else /* !ENABLE_DESKTOP */
 
 
-int ps_main(int argc, char **argv);
+int ps_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ps_main(int argc, char **argv)
 {
        procps_status_t *p = NULL;
index b2a9ed72e753885ea516bc58a13c42bb8f30babf..ab0d3a1c44ee7bd1a69e26c549fb3b64e83d19df 100644 (file)
@@ -26,7 +26,7 @@ void BUG_bad_PRIO_PROCESS(void);
 void BUG_bad_PRIO_PGRP(void);
 void BUG_bad_PRIO_USER(void);
 
-int renice_main(int argc, char **argv);
+int renice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int renice_main(int argc, char **argv)
 {
        static const char Xetpriority_msg[] ALIGN1 = "%cetpriority";
index 5100f57e7d8da807a5b80909eec7a6bf0d88dcc6..a84f9aef909ca39ef97687d53c30631f577a391b 100644 (file)
@@ -59,7 +59,7 @@ static void dwrite_str(int fd, const char *buf)
 /*
  *    sysctl_main()...
  */
-int sysctl_main(int argc, char **argv);
+int sysctl_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sysctl_main(int argc, char **argv)
 {
        int retval = 0;
index 1b8c18516fd880440f6f9479bf76f2c95d98da03..7f1c83fc1c56d1b3213604d2994041c1b4fcfe5a 100644 (file)
@@ -782,7 +782,7 @@ enum {
                | PSSCAN_COMM,
 };
 
-int top_main(int argc, char **argv);
+int top_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int top_main(int argc, char **argv)
 {
        int count, lines, col;
index ee0657e1bd5c5c0ef9abc0d7595adb50a2eb9a3c..07e8d607d771007bcc0625ec4b94416ff8a45f21 100644 (file)
@@ -25,7 +25,7 @@
 #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
 
 
-int uptime_main(int argc, char **argv);
+int uptime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int uptime_main(int argc, char **argv)
 {
        int updays, uphours, upminutes;
index 3d18105bf2f2ab9521e0c48e4be5ab28c185c98f..76d2a87e96abca9985b7b2ab21c2f4dd0b7894d9 100644 (file)
@@ -23,7 +23,7 @@
 //
 // (procps 3.x and procps 2.x are forks, not newer/older versions of the same)
 
-int watch_main(int argc, char **argv);
+int watch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int watch_main(int argc, char **argv)
 {
        unsigned opt;
index 1bc8e18a378edd74a09e16e815c60a9fd6ec4cec..0f605cc455ffbae8af072ba838a17ad1275f22b8 100644 (file)
@@ -289,7 +289,7 @@ static void envuidgid(int, char **) ATTRIBUTE_NORETURN;
 static void envdir(int, char **) ATTRIBUTE_NORETURN;
 static void softlimit(int, char **) ATTRIBUTE_NORETURN;
 
-int chpst_main(int argc, char **argv);
+int chpst_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chpst_main(int argc, char **argv)
 {
        INIT_G();
index 7cf142d8a265f989d0c6621ab2bd71ac0289afb3..8c5a4d4ea1a52bc4384d7e8457177afd3ffeaf0a 100644 (file)
@@ -439,7 +439,7 @@ static int ctrl(struct svdir *s, char c)
        return 1;
 }
 
-int runsv_main(int argc, char **argv);
+int runsv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int runsv_main(int argc, char **argv)
 {
        struct stat s;
index 924f771b7cce342857c850ab571af2435abae5eb..9e98ca6f8c16d5e601b5b2111cf0dda6eb9a3c5c 100644 (file)
@@ -204,7 +204,7 @@ static int setup_log(void)
        return 1;
 }
 
-int runsvdir_main(int argc, char **argv);
+int runsvdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int runsvdir_main(int argc, char **argv)
 {
        struct stat s;
index 757391a542e77af2462b710129d70ad3598eb5a4..e31adffed396bd0fd974b96ca47d4ae67f43e5ce 100644 (file)
@@ -411,7 +411,7 @@ static int control(const char *a)
        return 1;
 }
 
-int sv_main(int argc, char **argv);
+int sv_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int sv_main(int argc, char **argv)
 {
        unsigned opt;
index bf46ef7f825ef0311501d31a8f64f0d375c83ddb..5f682b19c8a4183bd43542d762b08feca8602971 100644 (file)
@@ -843,7 +843,7 @@ static void logmatch(struct logdir *ld)
        }
 }
 
-int svlogd_main(int argc, char **argv);
+int svlogd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int svlogd_main(int argc, char **argv)
 {
        char *r,*l,*b;
index 6292dc659080591b95d36e2a3241a771ef4d6a83..25629aa1af24170c8a2e27f88df11fdf338e8af7 100755 (executable)
@@ -26,7 +26,7 @@ debug=false
 # --enable-new-dtags            ?
 # -z,combreloc                  ?
 # -soname="libbusybox.so.$BB_VER"
-# --undefined=libbusybox_main   Seed name to start pulling from
+# --undefined=lbb_main          Seed name to start pulling from
 #                               (otherwise we'll need --whole-archive)
 # -static                       Not used, but may be useful! manpage:
 #                               "... This option can be used with -shared.
@@ -172,7 +172,7 @@ if test "$CONFIG_BUILD_LIBBUSYBOX" = y; then
            -Wl,--enable-new-dtags \
            -Wl,-z,combreloc \
            -Wl,-soname="libbusybox.so.$BB_VER" \
-           -Wl,--undefined=libbusybox_main \
+           -Wl,--undefined=lbb_main \
            -Wl,--sort-common \
            -Wl,--sort-section -Wl,alignment \
            -Wl,--start-group $A_FILES -Wl,--end-group \
@@ -220,14 +220,14 @@ if test "$CONFIG_FEATURE_INDIVIDUAL" = y; then
     while read name main junk; do
 
        echo "\
-void bbox_prepare_main(char **argv);
+void lbb_prepare(char **argv);
 int $main(int argc, char **argv);
 
 const char *applet_name = \"$name\";
 
 int main(int argc, char **argv)
 {
-       bbox_prepare_main(argv);
+       lbb_prepare(argv);
        return $main(argc, argv);
 }
 " >"$sharedlib_dir/applet.c"
index 3609880cbc9b9b670c625c64aa21ad86c3e3e078..f00e242781d59fae599cec3ddfcec2a3a352699b 100644 (file)
@@ -120,7 +120,7 @@ static const char chcon_longopts[] ALIGN1 =
        ;
 #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;
index 62b42637c1f69a420ada32f9e98e3e9fac152495..e11e78e3190cd886c4ed213f23d4bbb27c59112c 100644 (file)
@@ -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;
index 598a51cc0cc6c81642a03959e86bd5ecd2aac43a..ea080d483a8693a802aae5cd1866e1bc0c93f065 100644 (file)
@@ -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;
index add5c662c7831560238dfd4cdbfb9478299bfb3d..f9aa49d19e7229aefc2b42d940f21fd7281a7022 100644 (file)
@@ -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;
index bb7099ea64e44624345941a1158c7ec512efa954..6de68bceb25aabe8f6e7c27a5a0513a568ef2611 100644 (file)
@@ -29,7 +29,7 @@ static int print_matchpathcon(char *path, int noprint)
 #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;
index 37ac5d18fdbf6e7a37a7502fc4982590db0e2baa..89a4b0555a721043f3bed5e02f4e72e6774b749d 100644 (file)
@@ -87,7 +87,7 @@ static const char runcon_longopts[] ALIGN1 =
 #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;
index 8a9c7cd020a984e8b1bc26b2a135e08a4ed8cff3..114d2b6e2975206f98916b73edd47f5ee3023922 100644 (file)
@@ -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();
index 59b1b0fca85efc70db1d77ad535e9f04ccf879fb..198324c91ea120ff3f96448edd465ef0644e650d 100644 (file)
@@ -19,7 +19,7 @@ static const char *const setenforce_cmd[] = {
        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;
index 5ae482e65fd2fe3c53027f7fa72af9c8ef74be5e..905333f944138b3d1340609694ed81420ff94d3c 100644 (file)
@@ -486,7 +486,7 @@ static int process_one(char *name)
        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;
index af96c4d1da2365077ce4fd4441db598219c9a07d..2b9a8ccb6d98772371376c75e6d9700b5741cbc7 100644 (file)
@@ -12739,7 +12739,7 @@ extern int etext();
  * exception occurs.  When an exception occurs the variable "state"
  * is used to figure out how far we had gotten.
  */
-int ash_main(int argc, char **argv);
+int ash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ash_main(int argc, char **argv)
 {
        char *shinit;
index 09c4bd9a2a19d4017cc0ff006fddf84d4325254a..02e60508fb2032fd4f382c168d65ea901d3d3605 100644 (file)
@@ -198,7 +198,7 @@ static void handle(char *command)
        }
 }
 
-int bbsh_main(int argc, char **argv);
+int bbsh_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int bbsh_main(int argc, char **argv)
 {
        char *command=NULL;
index 1977da0f0c5592d12f9b371aca33f79db34112c0..a76327721a51eb1542d53643c5c0b85b3fdf9cd9 100644 (file)
@@ -3675,7 +3675,7 @@ static void setup_job_control(void)
 }
 #endif
 
-int hush_main(int argc, char **argv);
+int hush_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hush_main(int argc, char **argv)
 {
        static const char version_str[] ALIGN1 = "HUSH_VERSION="HUSH_VER_STR;
index b7a0a6a373404e89618e9a1e9c8c25e4466a6cf3..ce1ce7f6a2b64ca82d37a53d7faa34ad0ab15130 100644 (file)
@@ -1491,7 +1491,7 @@ static inline void setup_job_control(void)
 }
 #endif
 
-int lash_main(int argc_l, char **argv_l);
+int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int lash_main(int argc_l, char **argv_l)
 {
        unsigned opt;
index 41fe1b6ba744650fe4e9b072718d2fbbae5cb99b..7efd7f96e01f93eafb3533489ca430209db36548 100644 (file)
@@ -5164,7 +5164,7 @@ static void freehere(int area)
  * shell
  */
 
-int msh_main(int argc, char **argv);
+int msh_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int msh_main(int argc, char **argv)
 {
        int f;
index 2af410590df1aff92fbf4c0e7303df2cc460058a..11642461dde2caa23056acc2c82f5423d7c4ed04 100644 (file)
@@ -35,7 +35,7 @@ static void klogd_signal(int sig ATTRIBUTE_UNUSED)
 #define KLOGD_LOGBUF_SIZE BUFSIZ
 #define log_buffer bb_common_bufsiz1
 
-int klogd_main(int argc, char **argv);
+int klogd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int klogd_main(int argc, char **argv)
 {
        int i = i; /* silence gcc */
index 6e1debd679566d9a6f9003654628021e95be10f7..e2d07460597e1fa4810919e33aacc6bbc9ff692f 100644 (file)
@@ -81,7 +81,7 @@ static int pencode(char *s)
 }
 
 
-int logger_main(int argc, char **argv);
+int logger_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int logger_main(int argc, char **argv)
 {
        char *str_p, *str_t;
index 69a084ff68156872bbb54cfd9c611b3d4c1bb91c..6567df374fd7e9c4fefe3cc33f801c2fdf9084dc 100644 (file)
@@ -53,7 +53,7 @@ static void interrupted(int sig ATTRIBUTE_UNUSED)
        exit(0);
 }
 
-int logread_main(int argc, char **argv);
+int logread_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int logread_main(int argc, char **argv)
 {
        int cur;
index f27bd8379214c323a5bd8e32a65768d499f6a0ad..284e5743c84c7615a1a4a36e4d8dd9d2814719a7 100644 (file)
@@ -556,7 +556,7 @@ static void do_syslogd(void)
        } /* for */
 }
 
-int syslogd_main(int argc, char **argv);
+int syslogd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int syslogd_main(int argc, char **argv)
 {
        char OPTION_DECL;
index 3aa99e58f7d2fa0e4ca236fddd195e9eb04f99ab..1adb0fc2fff8445621d60192dfba3f8cbe7081b6 100644 (file)
@@ -12,7 +12,7 @@
 #include <sys/klog.h>
 #include "libbb.h"
 
-int dmesg_main(int argc, char **argv);
+int dmesg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int dmesg_main(int argc, char **argv)
 {
        char *size, *level;
index a2b8b3800cc04517a3740080ef4ab1681c037dcc..f67a283c14b981d2560f7770f58b7d830917453d 100644 (file)
@@ -309,7 +309,7 @@ static inline void showmode(struct fb_var_screeninfo *v)
 #ifdef STANDALONE
 int main(int argc, char **argv)
 #else
-int fbset_main(int argc, char **argv);
+int fbset_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fbset_main(int argc, char **argv)
 #endif
 {
index dc45e23c0a05b50196f2be1dc5c84325b886fecc..c4f97ae345b73c6ac0a23e5435e3b0a27af02d3b 100644 (file)
@@ -1,12 +1,7 @@
 /* vi: set sw=4 ts=4: */
 /* fdformat.c  -  Low-level formats a floppy disk - Werner Almesberger */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
- * - added Native Language Support
- * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
- * - more i18n/nls translatable strings marked
- *
- * 5 July 2003 -- modified for Busybox by Erik Andersen
+/* 5 July 2003 -- modified for Busybox by Erik Andersen
  */
 
 #include "libbb.h"
@@ -45,8 +40,8 @@ struct format_descr {
 #define FDGETPRM _IOR(2, 0x04, struct floppy_struct)
 #define FD_FILL_BYTE 0xF6 /* format fill byte. */
 
-int fdformat_main(int argc,char **argv);
-int fdformat_main(int argc,char **argv)
+int fdformat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int fdformat_main(int argc, char **argv)
 {
        int fd, n, cyl, read_bytes, verify;
        unsigned char *data;
@@ -116,7 +111,7 @@ int fdformat_main(int argc,char **argv)
                        /* Check backwards so we don't need a counter */
                        while (--read_bytes >= 0) {
                                if (data[read_bytes] != FD_FILL_BYTE) {
-                                        printf("bad data in cyl %d\nContinuing... ",cyl);
+                                        printf("bad data in cyl %d\nContinuing... ", cyl);
                                }
                        }
                }
index 9f30571e961c2203af2c394b91e51bb152815d98..01c01bd244f58fd8185e181683e8460ca5e3ef3a 100644 (file)
@@ -2735,7 +2735,7 @@ unknown_command(int c)
 }
 #endif
 
-int fdisk_main(int argc, char **argv);
+int fdisk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fdisk_main(int argc, char **argv)
 {
        char *str_b, *str_C, *str_H, *str_S;
index 4bd93781b84b603890d5cbc19832a40c5ee8b5a9..bde6afc0a7914d2ef808a7321f5f6644235c7e77 100644 (file)
@@ -14,7 +14,7 @@
 /* From <linux/fd.h> */
 #define FDFLUSH  _IO(2,0x4b)
 
-int freeramdisk_main(int argc, char **argv);
+int freeramdisk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int freeramdisk_main(int argc, char **argv)
 {
        int fd;
index 5f92f3511e86d8358748b77f983cfb75bb9daba3..deb82f75bc706ceab06a907b93532d1e23d96008 100644 (file)
@@ -1249,7 +1249,7 @@ static void check2(void)
 void check2(void);
 #endif
 
-int fsck_minix_main(int argc, char **argv);
+int fsck_minix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int fsck_minix_main(int argc, char **argv)
 {
        struct termios tmp;
index 4767d586c3643f30c1f7a2c14f958b196f2a8396..061750e77a1a15ff8a2afc6e5ec8170737e1e287 100644 (file)
@@ -279,8 +279,8 @@ static const char getopt_longopts[] ALIGN1 =
        ;
 #endif
 
-int getopt_main(int argc, char *argv[]);
-int getopt_main(int argc, char *argv[])
+int getopt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int getopt_main(int argc, char **argv)
 {
        char *optstr = NULL;
        char *name = NULL;
index e294f19da4283b4d26765614556863a489fe4063..e6820ae8d5256c1e59faff0096aabf209bfad10e 100644 (file)
@@ -54,7 +54,7 @@ static const struct suffix_mult suffixes[] = {
        { }
 };
 
-int hexdump_main(int argc, char **argv);
+int hexdump_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hexdump_main(int argc, char **argv)
 {
        const char *p;
index 09b09eb6f82f74080de7792c8620b6a722002d7b..f91379bed90f8b1b224326445e38d49b43d8fdba 100644 (file)
@@ -171,7 +171,7 @@ static int check_utc(void)
 #define HWCLOCK_OPT_SYSTOHC     0x10
 #define HWCLOCK_OPT_RTCFILE     0x20
 
-int hwclock_main(int argc, char **argv);
+int hwclock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int hwclock_main(int argc, char **argv)
 {
        unsigned opt;
index f49d28ee2f816b85f9e83e2a255147c17109bfc5..a9400d1744483cb9a97771aca0ec67984bfb063a 100644 (file)
@@ -76,7 +76,7 @@ static int remove_ids(type_id type, int argc, char **argv)
 #endif /* IPCRM_LEGACY */
 
 
-int ipcrm_main(int argc, char **argv);
+int ipcrm_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ipcrm_main(int argc, char **argv)
 {
        int c;
index d5325902bb0a1be61c1e7876d6b50b80c8cccbbf..c7b46f589a15d1919860eaaa8830e8986e62d449 100644 (file)
@@ -558,7 +558,7 @@ static void print_sem(int semid)
        bb_putchar('\n');
 }
 
-int ipcs_main(int argc, char **argv);
+int ipcs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int ipcs_main(int argc, char **argv)
 {
        int id = 0;
index c61af3d29ff6bdc40dd64fd0672a4364fc510f7a..a9ecfd58b95ca556de737904469f284e187b61e0 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int losetup_main(int argc, char **argv);
+int losetup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int losetup_main(int argc, char **argv)
 {
        char dev[] = LOOP_NAME"0";
index 33dc5d38f627b4da4c87952f404cc99e3fdc7656..a9c146942166d8e40de9d2daf9b424aff6511934 100644 (file)
@@ -287,7 +287,7 @@ static void load_firmware(const char *const firmware, const char *const sysfs_pa
        }
 }
 
-int mdev_main(int argc, char **argv);
+int mdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mdev_main(int argc, char **argv)
 {
        char *action;
index 2b0697ae5bbda3987c97047ad872ea1f840456e3..de9dde32bf745a09db0ba499393fabd0de0bc324 100644 (file)
@@ -603,7 +603,7 @@ static void setup_tables(void)
        printf("Maxsize=%ld\n", (long)SB_MAXSIZE);
 }
 
-int mkfs_minix_main(int argc, char **argv);
+int mkfs_minix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mkfs_minix_main(int argc, char **argv)
 {
        struct mntent *mp;
index 88f1fbb03a6d438f671adf49cd001d1af9c02e97..af4cc10f74732453628c420673b7018558a4f6c5 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "libbb.h"
 
-int mkswap_main(int argc, char **argv);
+int mkswap_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mkswap_main(int argc, char **argv)
 {
        int fd, pagesize;
index 0a21a9afae96884827f33db3502d50a0c49a855c..ee559b102eb7dc0d03af7abcc256ea3841f15751 100644 (file)
@@ -52,7 +52,7 @@ static void gotsig(int sig)
 
 #define CONVERTED_TAB_SIZE 8
 
-int more_main(int argc, char **argv);
+int more_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int more_main(int argc, char **argv)
 {
        int c = c; /* for gcc */
index 10ada5426577bd4214cae7cea6588fca5a1cb812..7c58aefb9a2b5827bc5ec3d6f809dab15fa66e4b 100644 (file)
@@ -1559,7 +1559,7 @@ static int singlemount(struct mntent *mp, int ignore_busy)
 
 static const char must_be_root[] ALIGN1 = "you must be root";
 
-int mount_main(int argc, char **argv);
+int mount_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mount_main(int argc, char **argv)
 {
        enum { OPT_ALL = 0x10 };
index 929ed30db451659f68ff8937894e26585f0c2417..28af00cc1530c723ec0e7fd15a5740182fdfb00f 100644 (file)
@@ -12,7 +12,7 @@
 
 extern int pivot_root(const char * new_root,const char * put_old);
 
-int pivot_root_main(int argc, char **argv);
+int pivot_root_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int pivot_root_main(int argc, char **argv)
 {
        if (argc != 3)
index 4387f04dedede23e8fe34b5c0994ac923aaf84c7..150efbec4e760ff71232d2d91612d5b145c8102d 100644 (file)
@@ -42,7 +42,7 @@ static time_t askremotedate(const char *host)
        return ntohl(nett) - RFC_868_BIAS;
 }
 
-int rdate_main(int argc, char **argv);
+int rdate_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int rdate_main(int argc, char **argv)
 {
        time_t remote_time;
index 152137654497eed809044f4ad6d35992dd0c9fc6..dbe7c7171b0de24ee982cd08d944a63643f5a561 100644 (file)
@@ -41,7 +41,7 @@
 static const char defaultmap[] ALIGN1 = "/boot/System.map";
 static const char defaultpro[] ALIGN1 = "/proc/profile";
 
-int readprofile_main(int argc, char **argv);
+int readprofile_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int readprofile_main(int argc, char **argv)
 {
        FILE *map;
index 08294e55c2631eba35bcc47857672b4ef7193a9a..dbc02de5ed61bb7fa246c97d82c2b03ac49e0b23 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "libbb.h"
 
-int setarch_main(int ATTRIBUTE_UNUSED argc, char **argv);
+int setarch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setarch_main(int ATTRIBUTE_UNUSED argc, char **argv)
 {
        int pers = -1;
index db43aa52ac4e0a9d9918e40450eb628662a94d31..6858d2619c784d849bf77e940ff194681faae063 100644 (file)
@@ -58,7 +58,7 @@ static int do_em_all(void)
        return err;
 }
 
-int swap_on_off_main(int argc, char **argv);
+int swap_on_off_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int swap_on_off_main(int argc, char **argv)
 {
        int ret;
index e4e9e21ad4ce9d9306af81e06f5800145e7445c1..700f7997eadb5b69434d20b7046a6c23f099ebbe 100644 (file)
@@ -64,7 +64,7 @@ static void delete_contents(const char *directory)
        } else unlink(directory);
 }
 
-int switch_root_main(int argc, char **argv);
+int switch_root_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int switch_root_main(int argc, char **argv)
 {
        char *newroot, *console = NULL;
index c57a49ef4723b00f637883258b28c6b866f0d316..17d88b38822a09fcfe504f6ca9223417f996f8fc 100644 (file)
@@ -21,7 +21,7 @@
 #define OPT_REMOUNT             (1 << 4)
 #define OPT_ALL                 (ENABLE_FEATURE_UMOUNT_ALL ? (1 << 5) : 0)
 
-int umount_main(int argc, char **argv);
+int umount_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int umount_main(int argc, char **argv)
 {
        int doForce;