Commit Graph

4808 Commits

Author SHA1 Message Date
Rob Landley
088ee4134b From Rich Paul:
I've noticed that when I compile busybox on my laptop, it compiles more
slowly than one would expect, and although it's a (more-or-less)
multiprocessor system and I use -j5, make never seems to run more than 
one job at a time.

I believe I have found the culprit:  each time a file is compiled, gcc
runs about 5 times.  This is because the $(check_gcc) macros and the
TARGET_ARCH macros are late binding.

The attached patch cuts the compilation time by 66%, from 1.5 minutes to
30 seconds.  Your mileage may very.  These statements have not been
evaluated by the FDA.
2005-07-28 19:38:52 +00:00
Rob Landley
ef8f423e90 Erik pointed out that in the last try at the #ifdef cleanup
infrastructure, the compiler isn't smart enough to replace const static 
int with the constant, and allocates space for each set of them, 
bloating the executable something fierce.  Oops.

So now, we #define ENABLE_XXX to 0 or 1 for each CONFIG_XXX (which
is still there so the 1000+ #ifdef/#ifndef tests don't have to be
replaced wholesale).  Changed the test instance in networking/ifconfig.c 
to use this.
2005-07-28 19:36:33 +00:00
Paul Fox
e5ba382b99 move the ifdef to after libbb.h include, so it can do some good. 2005-07-27 14:20:52 +00:00
Rob Landley
193c8c7383 #ifdef reduction infrastructure, based on an argument between Shaun Jackman,
Rob Landley, and others.

Currently CONFIG options are defined or undefined, so we chop out code with
#ifdefs, ala:
#ifdef CONFIG_THING
  stuff();
#endif

This creates a new header file, bb_config.h, which sets the CONFIG entry to 1
or 0, and lets us do:

  if(CONFIG_THING) stuff();

And let the compiler do dead code elimination to get rid of it.  (Note: #ifdef
will still work because for the 1 case it's a static const int, not a #define.)
2005-07-27 06:55:36 +00:00
Eric Andersen
77804ce53d The change in getty.c in Busybox 1.01 caused the /etc/issue file to not
be displayed unless CONFIG_FEATURE_UTMP is set.  This was not the intended
result.
2005-07-27 06:05:38 +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
6fafa5aa9f 2005-04-05 Shaun Jackman <sjackman@gmail.com>
* libbb/printf.c: Check for __NEWLIB_H__ before __GLIBC__.
2005-07-26 23:05:03 +00:00
Mike Frysinger
03e827a422 2005-03-19 Shaun Jackman <sjackman@gmail.com>
* networking/ping.c (ping): Change the type of fromlen to socklen_t.
2005-07-26 23:00:59 +00:00
Mike Frysinger
dbc049fda4 remove unused variable ret as reported by apgo in Bug 350 and touchup syntax along the way 2005-07-26 22:57:51 +00:00
Mike Frysinger
6e05312ba9 no longer used as reported by apgo in Bug 348 2005-07-26 22:51:57 +00:00
Mike Frysinger
726b2cb5da just punt all the f_frsize crap since not all linux headers support it Bug 346 2005-07-26 22:39:56 +00:00
Paul Fox
1429017968 ifdef all of loop.c with CONFIG_FEATURE_MOUNT_LOOP. won't
compile due to CONFIG_FEATURE_MOUNT_LOOP_MAX otherwise.  reported
by Stephane Billiart.
2005-07-22 19:58:32 +00:00
Paul Fox
37dd6247dd applying fix for:
0000093: Patch for dpkg - can't handle scripts
	      Attached patch is needed to fix dpkg's support for preinst,
	       postinst etc script files.
2005-07-22 13:17:41 +00:00
Paul Fox
7b86134032 remove duplicate check against chaddr. 2005-07-21 20:23:56 +00:00
Paul Fox
8de331def0 revert 10881, and refix by changing "if (vallen)" to "if (val)". this
is per the upstream fix for dash, in dash_0.5.2-6.diff.  thanks vodz, for
catching this.
2005-07-21 12:03:05 +00:00
Paul Fox
0840b76602 applying fixes from:
0000142: unzip enhancements
2005-07-20 20:26:49 +00:00
Paul Fox
f2ddc05ee7 applying fix for:
0000026: poor man's "scriptable" telnet
2005-07-20 19:55:19 +00:00
Paul Fox
1d4c88c8a5 applying fix for:
0000271: [PATCH] tftp -g fails if a TFTP_ACK is lost
2005-07-20 19:49:15 +00:00
Paul Fox
4905434b8a applying fix for:
0000265: tail -f should keep following files even if they
                    were truncated
2005-07-20 19:46:32 +00:00
Paul Fox
982d35ffa2 applying fix for:
0000263: nc cannot use -e when initiating a tcp connection
    	to something else
2005-07-20 19:40:30 +00:00
Paul Fox
94ff9f1010 applying fix for:
0000262: tar -x doesn't believe it has reached the end of archive
2005-07-20 19:24:13 +00:00
Paul Fox
6f267f022f applying fix for:
0000261: Unsafe empty env var export in ash
2005-07-20 19:18:45 +00:00
Paul Fox
01f67987e0 applying fix for:
0000260: udhcpc doesn't validate client hardware address
2005-07-20 19:13:21 +00:00
Paul Fox
379ac89c30 applying patch from:
0000227: sort use wrong type for getopt return variable
2005-07-20 19:07:27 +00:00
Paul Fox
5dc0ceeb9e applying fix for:
0000203: 'ip route flush cache' not implemented
2005-07-20 19:01:05 +00:00
Paul Fox
77ee52333c applying fix for:
0000185: httpd infinite loop when piping to CGI script
2005-07-20 18:42:52 +00:00
Paul Fox
54690dc0b2 applyinf fix for:
0000155: variable expansion with braces in backticks in msh
2005-07-20 18:33:12 +00:00
Paul Fox
c3850c83d9 applying fix from:
0000152: ash: quoting rules for local variables different to globals
2005-07-20 18:23:39 +00:00
Paul Fox
27cbffddd8 applying fix for:
0000143: sysklogd remote logging adds a space between facility and tag
2005-07-20 18:02:11 +00:00
Paul Fox
18433aadf6 applying fix for:
0000118: vi join command does not mark file as modified for certain lines.
2005-07-20 17:39:52 +00:00
Paul Fox
28069404a4 much more concise fix for bug #45. just align the packet... 2005-07-20 11:55:08 +00:00
Rob Landley
3c12ff7c89 If /tmp and /home were different partitions, then "mv /tmp/file /home/file"
would delete /home/file even if /tmp/file didn't exist.

This fixes that, although the logic of both mv and cp is a bit tangled and
should probably be untangled.
2005-07-20 00:45:40 +00:00
Paul Fox
c337d29550 applying fix for:
0000117: Remove linefeed after overwrite prompt using cp -i
	  User input not on the same line as the prompt when about to
	  overwrite a file.
2005-07-19 21:31:05 +00:00
Paul Fox
146e83a60e applying fix from:
0000108: busyboxy/networking/ftpgetput.c not conforming to
                    RFC 959.  ftpget and ftpput send <LF> as EOL.
2005-07-19 21:26:57 +00:00
Paul Fox
127adc559f applying fix from;
0000092: looks like the initializer for .need_suid was missing.
2005-07-19 21:21:58 +00:00
Paul Fox
deac371690 applying fix from:
0000088: inetd chargen stream does not generate the
	    characters as recommended in RFC 864
	    Chragen service is generating garbage characters.
2005-07-19 21:19:20 +00:00
Paul Fox
3f6f3174e9 applying fix from:
0000068: mount limited to max 8 loop devices (patch provided)  

(made minor wording change for config help message)
2005-07-19 20:55:37 +00:00
Paul Fox
0a92bbf349 applying fix from:
0000067: cp -p produces misleading error message
2005-07-19 20:47:33 +00:00
Paul Fox
574fee4f99 applying:
0000054: Tab completing filenames in ash causes SEGV
	Simple tab completion operations cause busybox (ash) to
	access illegal addresses.
2005-07-19 20:41:06 +00:00
Paul Fox
b270315b21 applying fix for:
0000045: traceroute causes an alignment trap due to unaligned buffer on arm
2005-07-19 20:37:15 +00:00
Eric Andersen
90161c9213 Fixup makedevs to handle regular files, and also fix
it to properly update file permissions as specified.
2005-07-18 22:40:59 +00:00
Paul Fox
7b71d740b9 fix for "0000027: patch: nc will spin if stdin closed" 2005-07-18 22:23:16 +00:00
Paul Fox
d13b90b9e8 allow both ^H and DEL to backspace in insert mode (bug #23) 2005-07-18 22:17:25 +00:00
Eric Andersen
0ef24c672a Fix vi so that error messages, insert mode messages, etc are
all actually displayed in the status line as expected
2005-07-18 10:32:59 +00:00
Eric Andersen
2ada89b60f a bit more polish 2005-07-18 09:45:35 +00:00
Eric Andersen
54e57da96a a bit of polish on makedevs 2005-07-18 09:42:37 +00:00
Eric Andersen
1b7058c653 the makedevs config option was pretty much totally broken 2005-07-18 09:36:49 +00:00
Eric Andersen
e8614dbcd7 Fixup device table based makedevs so it actually works 2005-07-18 09:28:36 +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