X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=TODO;h=b3d950790f2d5bd236703440f68452fa119e292a;hb=0b656283959079825ecea5eba72f0b63e8fca913;hp=203ccdf9f55b8723ef9d855c89d3ebe098651006;hpb=2677cf1b0ac9c31e5bbe7f22cf639dacead7808c;p=oweals%2Fbusybox.git diff --git a/TODO b/TODO index 203ccdf9f..b3d950790 100644 --- a/TODO +++ b/TODO @@ -2,6 +2,11 @@ Busybox TODO Stuff that needs to be done. All of this is fair game for 1.2. +build system + make -j is broken, -j1 is forced atm + Make sure that the flags get pinned in e.g. Rules.mak so when expanding them + later on you get the cached result without the need to re-evaluate them. +---- find doesn't understand (), lots of susv3 stuff. ---- @@ -17,9 +22,6 @@ sh bbsh, but it's a low priority... --- diff - We should have a diff -u command. We have patch, we should have diff - (we only need to support unified diffs though). - Also, make sure we handle empty files properly: From the patch man page: @@ -54,6 +56,9 @@ ar --- mdev Micro-udev. +--- +crond + turn FEATURE_DEBUG_OPT into ENABLE_FEATURE_CROND_DEBUG_OPT Architectural issues: @@ -69,6 +74,14 @@ bb_close() with fsync() You need to call fsync() if you care about errors that occur after write(), but that can have a big performance impact. So make it a config option. --- +Unify base64 handling. + There's base64 encoding and decoding going on in: + networking/wget.c:base64enc() + coreutils/uudecode.c:read_base64() + coreutils/uuencode.c:tbl_base64[] + networking/httpd.c:decodeBase64() + And probably elsewhere. That needs to be unified into libbb functions. +--- Do a SUSv3 audit Look at the full Single Unix Specification version 3 (available online at "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and @@ -147,13 +160,14 @@ buildroot - Make a "dogfood" option --- initramfs Busybox should have a sample initramfs build script. This depends on - involves bbsh, mdev, and switch_root. + bbsh, mdev, and switch_root. --- Memory Allocation We have a CONFIG_BUFFER mechanism that lets us select whether to do memory allocation on the stack or the heap. Unfortunately, we're not using it much. We need to audit our memory allocations and turn a lot of malloc/free calls into RESERVE_CONFIG_BUFFER/RELEASE_CONFIG_BUFFER. + For a start, see e.g. make CFLAGS_EXTRA=-Wlarger-than-64 And while we're at it, many of the CONFIG_FEATURE_CLEAN_UP #ifdefs will be optimized out by the compiler in the stack allocation case (since there's no @@ -243,4 +257,6 @@ bzero() -> memset() --- sigblock(), siggetmask(), sigsetmask(), sigmask() -> sigprocmask et al --- +vdprintf() -> similar sized functionality +---