Denis Vlasenko
6bef3d1d22
fbset: fix buglet where we were using wrong pointer
...
readahead: stop using stdio.h
*: style fixes
2007-11-06 03:05:54 +00:00
Denis Vlasenko
9b49a5ed85
add -fvisibility=hidden to CC flags, mark XXX_main functions
...
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-11 10:05:36 +00:00
Denis Vlasenko
0c97c9d437
'simple' error message functions by Loic Grenie <loic.grenie@gmail.com>.
...
263 bytes saved.
2007-10-01 11:58:38 +00:00
Denis Vlasenko
96e1b38586
introduce and use close_on_exec_on(fd). -50 bytes.
2007-09-30 23:50:48 +00:00
Denis Vlasenko
818322b9b1
*: kill bb_get_last_path_component, replace with two functions
...
(one which strips trailing slash and one which does not)
wget: straighten out as a result of above change
text data bss dec hex filename
5056 1 0 5057 13c1 busybox.t4/networking/wget.o
5022 0 0 5022 139e busybox.t5/networking/wget.o
2007-09-24 18:27:04 +00:00
Denis Vlasenko
fe7cd642b0
don't pass argc in getopt32, it's superfluous
...
(add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes
text data bss dec hex filename
773469 1058 11092 785619 bfcd3 busybox_old
772644 1058 11092 784794 bf99a busybox_unstripped
2007-08-18 15:32:12 +00:00
Denis Vlasenko
6ca409e0e4
trylink: produce even more info about final link stage
...
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
2007-08-12 20:58:27 +00:00
Denis Vlasenko
d8540f71ac
init: make sure fd 0,1,2 are not closed, + related optimizations.
...
init_main 929 920 -9
bb_daemonize_or_rexec 145 127 -18
2007-06-14 07:53:06 +00:00
Denis Vlasenko
ca525b4f24
*: BB_BANNER -> bb_banner (it is not a const or #define)!
...
correct_password: explain in detail why it is ok to use bb_banner
fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
Marginal size difference:
text data bss dec hex filename
679119 2700 15632 697451 aa46b busybox_old
679091 2700 15632 697423 aa44f busybox_unstripped
2007-06-13 12:27:17 +00:00
Denis Vlasenko
f5f75c5e82
remove nearly-duplicate PATHs in several places
...
function old new delta
bb_PATH_root_path - 35 +35
varunset 60 58 -2
arith 2042 2033 -9
bb_default_root_login_path 30 - -30
.rodata 128794 128762 -32
which_main 152 117 -35
defpathvar 40 - -40
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 0/4 up/down: 35/-148) Total: -113 bytes
2007-06-12 22:35:19 +00:00
Denis Vlasenko
9a7d38fe24
delete tons of extra #includes
2007-05-31 22:42:12 +00:00
Denis Vlasenko
b6adbf1be2
usage.c: remove reference to busybox.h
...
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Denis Vlasenko
51742f4bb0
style fixes. No code changes
2007-04-12 00:32:05 +00:00
Bernhard Reutner-Fischer
febe3c4211
- sed -e "s/char[[:space:]]*\*[[:space:]]*argv\[\]/char **argv/g"
2007-04-04 20:52:03 +00:00
Denis Vlasenko
219d14d514
random style fixes (extra spaces deleted)
2007-03-24 15:40:16 +00:00
Denis Vlasenko
ccd412da09
decouple INIT and SYSLOGD (patch by Eric Spakman E.Spakman@inter.nl.net)
2007-03-05 19:55:30 +00:00
Denis Vlasenko
d238a477b7
init: fix handling of stdio file descriptors
2007-03-05 19:22:04 +00:00
Denis Vlasenko
966bb43766
init: de-indent a block of code
2007-02-27 19:20:33 +00:00
Denis Vlasenko
b716754199
init: trivial compile fix
2007-02-27 19:20:00 +00:00
Denis Vlasenko
7a2ca5e111
init: stop doing silly things with the console (-400 bytes)
...
init_shared.[ch]: unused, thus deleted
2007-02-21 00:15:20 +00:00
Denis Vlasenko
ec27feb045
init: code readability enhancements; very small code changes
2007-02-17 15:52:02 +00:00
Bernhard Reutner-Fischer
d818dcc72a
- whitespace cleanup and add a possible shrinkage suggestion
2007-02-16 17:17:07 +00:00
Denis Vlasenko
06af216528
suppress warnings about easch <applet>_main() having
...
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
4c97863109
assorted fixes for bugs found with randomconfig
2007-02-03 03:31:13 +00:00
Denis Vlasenko
e968fcd562
lineedit: add missing #if/#endif
...
init: fix warnings
2007-02-03 02:42:47 +00:00
Denis Vlasenko
4921b54f37
Add BB_EXEC[LV]P() which encapsulate FEATURE_EXEC_PREFER_APPLETS
...
(patch from Gabriel L. Somlo <somlo@cmu.edu>)
2007-02-03 02:17:41 +00:00
Denis Vlasenko
06c0a71d23
preparatory patch for -Wwrite-strings #3
2007-01-29 22:51:44 +00:00
Denis Vlasenko
b6aae0f381
preparatory patch for -Wwrite-strings #2
2007-01-29 22:51:25 +00:00
Denis Vlasenko
2f0c0d0b88
Introduce FEATURE_EXEC_PREFER_APPLETS = "re-execute our own
...
executable if we asked to exec someting with argv[0] == known_applet"
Use it in init. Also respect PATH in init, remove explicit "/sbin" etc
from exec. Patch by Gabriel L. Somlo <somlo@cmu.edu>
2007-01-21 00:41:04 +00:00
Denis Vlasenko
9b1381fd2f
convert calloc to xzalloc
...
fix sleep-on-die option
2007-01-03 02:56:00 +00:00
Denis Vlasenko
bf0a201008
style fixes
...
last xcalloc replaced by xzalloc
2006-12-26 10:42:51 +00:00
Denis Vlasenko
bf66fbc8e2
introduce LONE_CHAR (optimized strcmp with one-char string)
2006-12-21 13:23:14 +00:00
Denis Vlasenko
35fb512728
PID should be stored in pid_t, not int or long.
...
find_pid_by_name() was returning 0 or -1 in last array element,
but -1 was never checked. We can use just 0 intead.
2006-11-01 09:16:49 +00:00
Denis Vlasenko
dca0b707c0
reshuffle libbb.h contents so that order of decls makes sense
...
Found bad typo in largefile support :)
2006-10-27 09:05:02 +00:00
Denis Vlasenko
e1a0d486e4
message string changes, mostly for consistency, also -32 bytes in .rodata
2006-10-20 13:28:22 +00:00
Denis Vlasenko
ea62077b85
add open_read_close() and similar stuff
2006-10-14 02:23:43 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
7d219aab70
build system overhaul
2006-10-05 10:17:08 +00:00
Denis Vlasenko
8f8f268cfd
bb_applet_name -> applet_name
2006-10-03 21:00:43 +00:00
Denis Vlasenko
67b23e6043
getopt_ulflags -> getopt32.
...
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
2006-10-03 21:00:06 +00:00
Denis Vlasenko
ce97960a6e
usage.h: remove ugly tricks. We have USE_FEATURE_xxx now.
...
Few bugs are now exposed...
2006-09-27 23:31:08 +00:00
Rob Landley
e9a7a6212b
Change license statements (and clean up headers) on some of the files that
...
Erik or I are primary copyright holders on.
2006-09-22 02:52:41 +00:00
Denis Vlasenko
049d6b8c08
Add CONFIG_FEATURE_SYSLOG which controls whether
...
bb_xx_msg will ever try to send output to syslog.
Add "select CONFIG_FEATURE_SYSLOG" to relevant applets.
This allows to omit syslog code if we do not have
any syslog-capable applets in the build.
2006-09-07 06:02:39 +00:00
Rob Landley
88621d7398
Svn 16007 broke the build under gcc 4.0.3. This fixes up some of the damage
...
(the e2fsprogs directory is too twisty and evil to easily fix, but I plan
to rewrite it anyway so I'll just bump that up in priority a bit).
2006-08-29 19:41:06 +00:00
Rob Landley
534374755d
Cleaup read() and write() variants, plus a couple of new functions like
...
xlseek and fdlength() for the new mkswap.
2006-07-16 08:14:35 +00:00
Rob Landley
cba1b96735
Patch from Shaun Jackman to set environment variable RUNLEVEL equal to
...
init's argv[1], so if you append "single" to your kernel command line and
the kernel doesn't parse it, RUNLELEL=single.
Plus a few unrelated header cleanups while I was in the area...
2006-07-09 17:28:17 +00:00
"Robert P. J. Day"
edd9ca5743
More removal of "#if 0" content.
2006-07-01 14:52:12 +00:00
Bernhard Reutner-Fischer
e15d7573a1
- move #include busybox.h to the very top so we pull in the config
...
and eventual platform specific includes in early.
2006-06-02 20:56:16 +00:00
Bernhard Reutner-Fischer
cf1f2ace39
- fix CONFIG_DEBUG_INIT compile failure
2006-06-02 10:43:17 +00:00
Paul Fox
d112f8fa5e
make halt and poweroff messages more accurate (i.e., claim "we're about to",
...
rather than "it's done", and combine with reboot handler to save space.
2006-06-01 13:17:49 +00:00
Bernhard Reutner-Fischer
9a5686b605
- fix IMA compile error i introduced when adding this untested snippet.
2006-05-31 18:57:56 +00:00
Bernhard Reutner-Fischer
7ae1553980
- consolidate "Sending SIG%s to all processes"; untested..
...
text data bss dec hex filename
5379 32 8 5419 152b init/init.o.oorig
5358 32 8 5398 1516 init/init.o
2006-05-30 18:17:21 +00:00
Bernhard Reutner-Fischer
c58dbf28e0
- remove useless variable "status" from init_main.
...
http://www.opengroup.org/onlinepubs/009695399/functions/waitpid.html suggests
that we need not specify a status if we don't want, and we don't.
"If wait() or waitpid() return because the status of a child process is available, these functions shall return a value equal to the process ID of the child process. In this case, if the value of the argument stat_loc is not a null pointer, information shall be stored in the location pointed to by stat_loc. "
text data bss dec hex filename
5391 32 8 5431 1537 init/init.o.06
5379 32 8 5419 152b init/init.o
2006-05-30 12:16:54 +00:00
Bernhard Reutner-Fischer
3ab3080bc2
- use config_buffer for message()
...
- add second argument to waitfor(*action,pid); if action==NULL then use pid tor
wait for. If an action was given, we wait for the action to finish just as
before. In run() remove second and third occurance of the same functionality
the waitfor() call now provides.
Adjust the former only caller of waitfor accordingly.
PS: Not using waitfor but creating a second function used a few bytes more than
simply extending and reusing waitfor.
text data bss dec hex filename
5426 32 8 5466 155a init/init.o.orig
5391 32 8 5431 1537 init/init.o
2006-05-30 12:10:29 +00:00
Bernhard Reutner-Fischer
35e1a077d6
- DEBUG_INIT -> config CONFIG_DEBUG_INIT
2006-05-29 13:08:35 +00:00
Bernhard Reutner-Fischer
76bb97c995
- landley, remove this?
2006-05-29 13:01:37 +00:00
Bernhard Reutner-Fischer
49e60b9788
- set_term() doesn't need an argument. (Like r15220 this is just compile-tested)
...
text data bss dec hex filename
5432 32 8 5472 1560 init/init.o.r15220
5426 32 8 5466 155a init/init.o
2006-05-29 12:57:52 +00:00
Bernhard Reutner-Fischer
0da069d382
- move common code into new open_new_terminal() function;
...
text data bss dec hex filename
864434 10244 645892 1520570 1733ba busybox_old
864386 10244 645892 1520522 17338a busybox_unstripped
add/remove: 1/0 grow/shrink: 0/2 up/down: 92/-143 (-51)
function old new delta
open_new_terminal - 92 +92
exec_signal 345 276 -69
run 1527 1453 -74
Again, 48 != 51 so let's trust the former..
2006-05-29 12:54:16 +00:00
Rob Landley
299a6b4d7b
Consolidate #include <sys/time.h> so libbb.h does it.
2006-05-27 21:42:58 +00:00
Bernhard Reutner-Fischer
d765ee5d0f
- provide fallback defines for non-linux
2006-05-26 20:34:02 +00:00
Bernhard Reutner-Fischer
b180e5a766
- use portability wrapper define bb_setpgrp.
2006-05-26 14:24:56 +00:00
Bernhard Reutner-Fischer
b1629b1b2a
- remove emacs layout block as suggested by Robert P.J. Day
...
- use shorter boilerplate while at it
2006-05-19 19:29:19 +00:00
Mike Frysinger
39440e520c
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:09 +00:00
Mike Frysinger
2f4d91da75
fix whitespace
2006-05-13 02:27:52 +00:00
Mike Frysinger
706f8f6de5
just include fcntl.h not sys/fcntl.h
2006-04-29 04:43:31 +00:00
Rob Landley
2ec922eed5
Patch from Robert P Day: let menuconfig indent stuff for us, we don't have
...
to do it in Config.in.
2006-04-13 23:22:16 +00:00
Mike Frysinger
6850017a2f
remove some more config code rob missed in rev 13701 cleanup as reported by Robert P. J. Day
2006-03-28 06:11:51 +00:00
Rob Landley
b3ede5abe2
More from Jan Kiszka: this is a port of the latest sysv-init SELinux patch.
...
It makes busybox invoke the libselinux library function to load the binary
policy right at system start-up. It was successfully tested on a mini-SELinux
system. Note: requires recent libselinux. I'm using 1.28.
2006-03-27 23:09:12 +00:00
Rob Landley
2dd4279959
Patch from Rogelio Serrano to defer checking whether the tty exists until
...
we actually need to spawn something on it.
2006-03-22 17:39:13 +00:00
Bernhard Reutner-Fischer
df10094870
- revert back to r14406
2006-03-13 19:04:00 +00:00
Rob Landley
bc68cd14cc
Patch from Denis Vlasenko turning static const int (which gets emitted into
...
the busybox binary) into enums (which don't).
2006-03-10 19:22:06 +00:00
Bernhard Reutner-Fischer
07a79e75f5
- backout using features which are not available with the previous stable
...
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Rob Landley
dfba741457
Robert P. Day removed 8 gazillion occurrences of "extern" on function
...
definitions. (That should only be on prototypes.)
2006-03-06 20:47:33 +00:00
Bernhard Reutner-Fischer
022eb311d5
- use absolute path for top_builddir and top_srcdir.
...
Fixes make trying to include the very same file in an endless loop.
2006-03-02 17:33:25 +00:00
Bernhard Reutner-Fischer
5d26126b9e
- fixes parallel builds (make -j)
...
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Rob Landley
0a7c8ef6e2
Patch from Denis Vlasenko to constify things and fix a few typos.
2006-02-22 17:01:00 +00:00
Rob Landley
d6e14d8bee
Don't build directory libraries unless we're building an applet that needs it.
...
Cherry-picked from Devin Bayer's big MacOS X patch.
2006-02-21 19:11:35 +00:00
Rob Landley
4926d643ea
Missed this in svn 13701.
2006-02-10 21:38:20 +00:00
Mike Frysinger
b38673fb9f
make the build system puuuuuuuuuuurty
2006-02-02 01:41:53 +00:00
"Vladimir N. Oleynik"
1f04c9d29c
removed anoinig `unused' warnings
2006-02-01 14:47:52 +00:00
Rob Landley
646129163a
Re-add initrd support, unify halt/reboot/poweroff, add -n and -f options.
2006-01-30 08:31:37 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Rob Landley
2edf52643d
The whole "init is sometimes pid 3" thing is silly. Init is pid 1, anything
...
else is a kernel bug. Both 2.4 and 2.6 should get this right now. This
should fix the bug IraquiGeek is seeing (although killall still needs to
be fixed.)
2006-01-22 02:41:51 +00:00
Bernhard Reutner-Fischer
7ca61b6f33
- shared libbusybox.
...
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
"Vladimir N. Oleynik"
6c35c7c976
usage bb_dev_null
2005-10-12 15:34:25 +00:00
"Vladimir N. Oleynik"
ba248206fe
change strange depend to libbb.h, but require busybox.h
2005-10-06 15:18:09 +00:00
"Vladimir N. Oleynik"
8e1bd4a05b
don't out \r to syslog
2005-09-29 12:55:21 +00:00
Mike Frysinger
f51d2069ff
re-order a little for alphabetical
2005-09-24 23:14:11 +00:00
Mike Frysinger
62f18e1f20
use the shorter license header
2005-09-24 07:16:29 +00:00
Mike Frysinger
0d4ee68be5
use brief license line
2005-09-24 06:01:57 +00:00
Rob Landley
c3386a4304
Why have a separate CONFIG_INIT_SWAPON when we already have CONFIG_SWAPONOFF?
2005-08-30 18:50:37 +00:00
Rob Landley
7a8f6792f3
Bug system entry #1 says that when busybox doesn't have swapoff,
...
init shouldn't call swapoff.
2005-08-30 18:17:05 +00:00
Paul Fox
41a72ecd19
applying patch from bug 24:
...
0000024 03-16-05 patch: allow init to set controlling tty
2005-08-01 16:43:13 +00:00
Mike Frysinger
4d00896d05
use toplevel ARFLAGS and update default ARFLAGS to be quiet
2005-07-27 01:09:24 +00:00
Mike Frysinger
10427ab528
move var decls around a little to help gcc make smaller code
2005-07-06 05:00:48 +00:00
Mike Frysinger
e548bdff96
2005-07-04 Shaun Jackman <sjackman@gmail.com>
...
* init/init.c: Do not include sys/mount.h.
(message): Use O_NONBLOCK instead of O_NDELAY.
(console_init): Ditto.
2005-07-06 04:46:14 +00:00
Mike Frysinger
95ef16528c
2005-07-05 Shaun Jackman <sjackman@gmail.com>
...
* init/Config.in (CONFIG_FEATURE_INIT_SWAPON): New option.
* init/init.c (check_memory): Disable the swapon feature unless
CONFIG_FEATURE_INIT_SWAPON is defined.
2005-07-06 04:39:08 +00:00
Mike Frysinger
72a4c33568
rename log var to log_console so we dont override internal gcc/glibc log func
2005-07-05 02:19:20 +00:00
Mike Frysinger
a77b4f3970
jfb2 writes in Bug 119:
...
The init applet will restart (re-exec) itsself when it
receives a SIGHUP. However, just before it enters its
main loop, it resets SIGHUP to either re-load the inittab
(or ignore it if no inittab is used). Thus preventing
the re-exec option from being triggerable.
This patch adds a signal handler for SIGQUIT for init that
always causes init to re-exec itsself (along with killing
anything else that might be still running).
2005-04-16 08:21:34 +00:00
Eric Andersen
82baf63de5
Hiroshi Ito writes:
...
Hello, all.
Busybox init does not handle removed inittab entry correctly.
# I'm sorry about my poor english, but you can find
# what I would like to say from patch, isn't it?
even if you apply this path,
when yoy try to change a command line option in inittab,
you have to do following steps.
1. remove old line from initrd
2. send HUP signal to init
3. kill old proces which is invoked from init.
4. append new line to inittab
5. send HUP signal to init, again
patch is against current CVS + last patch witch I send it last.
2004-10-08 08:21:54 +00:00