diff options
author | Eric Andersen <andersen@codepoet.org> | 2003-01-24 16:31:21 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2003-01-24 16:31:21 +0000 |
commit | fbe03b720849fa0539c86893cf98bbaa9e039f80 (patch) | |
tree | cf9103c3f91bb5e6d65ec517461197bdd91ffdcf | |
parent | b6e3fffca418c07bc36e4fc8b2c576abb90766ff (diff) |
Begin release preparations...
-rw-r--r-- | Changelog.full | 1300 | ||||
-rw-r--r-- | Rules.mak | 2 |
2 files changed, 541 insertions, 761 deletions
diff --git a/Changelog.full b/Changelog.full index f2327ea80..9382175f4 100644 --- a/Changelog.full +++ b/Changelog.full @@ -1,1028 +1,808 @@ -2002-11-09 Erik Andersen <andersen@dillweed> +2003-01-24 Erik Andersen <andersen@dillweed> - * libm/Makefile: Patch from Simon Rowe to try and build asm libm code - only when HAS_FPU is set. If you don't have an FPU - then usm FPU code isn't going to help much... + * libc/sysdeps/linux/sparc/bits/types.h, libc/sysdeps/linux/powerpc/bits/types.h, libc/sysdeps/linux/mips/bits/types.h, libc/sysdeps/linux/m68k/bits/kernel_stat.h, libc/sysdeps/linux/i386/bits/kernel_stat.h, libc/sysdeps/linux/h8300/bits/kernel_stat.h, libc/sysdeps/linux/cris/bits/kernel_stat.h, libc/sysdeps/linux/common/bits/kernel_stat.h, libc/sysdeps/linux/common/bits/types.h, libc/sysdeps/linux/common/xstatconv.c, libc/sysdeps/linux/arm/bits/kernel_stat.h, libc/sysdeps/linux/alpha/bits/types.h: + Finish up fixing stat and setting various system types. * Makefile: - Patch from Stefan Allius, rebuild extra/config/conf if it is missing - following a make clean - - * extra/config/mconf.c: - Patch from Stefan Allius: avoid implicit casting of void *(64bit) to int(32bit) - -2002-11-08 Erik Andersen <andersen@dillweed> - - * test/string/string.c: Re-enable the strchrnul and rawmemchr tests - - * extra/Configs/Config.in: - Scare people away from enabling locale support for now. + Don't clean config system except on 'make distclean'. Remember to + clean locale stuff on 'make clean' - * extra/Configs/Config.i386.default: - Disable ldso debugging. It should not be on by default. + * test/stat/.cvsignore, test/stat/Makefile, test/stat/stat.c: + Better stat tests - * extra/gcc-uClibc/Makefile: - Use NATIVE_CC. Don't hard code using 'gcc'. + * libc/sysdeps/linux/common/Makefile, libc/sysdeps/linux/common/syscalls.c, libc/sysdeps/linux/common/xstatconv.c, libc/sysdeps/linux/common/xstatconv.h: + I thought it would be smaller to inline since these funcs are small. + Well, not inlining saves 300 bytes, so do that instead. -Erik - * extra/scripts/get-needed-libgcc-objects.sh, ldso/ldso/Makefile, libc/Makefile: - Patch from Stefan Allius for libgcc multilib support - - this is the last patch, we need to make the support of multitarget libgcc - complete. - - --------------------------------- - In ldso/ldso/Makefile - I added the CPU_LDFLAGS-y to the LDFLAGS - --------------------------------- - In libc/Makefile - I set the LDFLAGS for the script get-needed-objects.sh with CPU_LDFLAGS-y - --------------------------------- - In extra/scripts/get-needed-object.sh - we now use the LIBGCC from Rules.mak and call LD with LDFLAGS - (==CPU_LDFLAGS-y). Addtionally I grep the NM output, to fix the unresolved - external __GLOBAL_OFFSET_TABLE__ on SuperH targets. - --------------------------------- - - * include/fstab.h: Disble unimplemented function prototypes - - * extra/Configs/Config.sh: - Patch from Stefan Allius to fixup SuperH ARCH_HAS_MMU and ARCH_HAS_FPU - -2002-11-08 miles <miles@dillweed> - - * extra/Configs/Config.v850.default: Initial checkin. - -2002-11-08 Erik Andersen <andersen@dillweed> - - * Rules.mak: - Add CPU_CFLAGS-y into LIBGCC_CFLAGS so multilibs gcc will behave - itself. Revery the "=" to ":=" change, so people like Miles can - set stuff in their .config - - * extra/Configs/Config.powerpc.default: Add defaults for powerpc - - * extra/Configs/uClibc_config_fix.pl: - Kill the now obsolete uClibc_config_fix.pl - - * extra/Configs/Config.sh.default: Add a default for sh - -2002-11-08 Manuel Novoa III <mjn3@dillweed> + * libc/sysdeps/linux/v850/bits/kernel_stat.h, libc/sysdeps/linux/sparc/bits/kernel_stat.h, libc/sysdeps/linux/sh/bits/kernel_stat.h, libc/sysdeps/linux/powerpc/bits/kernel_stat.h, libc/sysdeps/linux/mips/bits/kernel_stat.h, libc/sysdeps/linux/m68k/bits/kernel_stat.h, libc/sysdeps/linux/i386/bits/kernel_stat.h, libc/sysdeps/linux/h8300/bits/kernel_stat.h, libc/sysdeps/linux/cris/bits/kernel_stat.h, libc/sysdeps/linux/common/bits/kernel_stat.h, libc/sysdeps/linux/common/bits/stat.h, libc/sysdeps/linux/common/syscalls.c, libc/sysdeps/linux/common/xstatconv.c, libc/sysdeps/linux/arm/bits/kernel_stat.h, libc/sysdeps/linux/alpha/bits/kernel_stat.h, ldso/ldso/ld_syscall.h: + Ok, people are probably going to hate me for this... This commit changes the + type of 'struct stat' and 'struct stat64' so they use consistant types. - * docs/Glibc_vs_uClibc_Differences.txt: - Add notes about setvbuf and struct tm extension fields tm_gmtoff and tm_zone. + This change is the result of a bug I found while trying to use GNU tar. The + problem was caused by our using kernel types within struct stat and trying to + directly compare these values with standard types. Trying an 'if (a < b)' when + 'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results + then when comparing entities of the same type (i.e. time_t values).... + Grumble. Nasty stuff, but I'm glad I got this out of the way now. - * libc/string/Makefile, libc/string/strxfrm.c, libc/string/wstring.c: - Added some temporary "stubs" for collation. - strcoll is an alias for strcmp. - strxfrm is an alias for strlcpy. - wcscoll is an alias for wcscmp. - wcsxfrm is implemented as a wchar version of strlcpy. - Real locale-dependent implementations are coming soon. - -2002-11-08 Erik Andersen <andersen@dillweed> - - * test/ldso/Makefile: Cleanup everything - -2002-11-08 Manuel Novoa III <mjn3@dillweed> - - * libc/misc/wchar/Makefile, libc/misc/wchar/wchar.c: - Add wcwidth and wcswidth, based on Markus Kuhn's wcwidth of 2002-05-08. - Added some size/speed optimizations and integrated it into my locale - framework. Minimally tested at the moment, but the stub C-locale - version (which most people would probably be using) should be fine. - -2002-11-08 Erik Andersen <andersen@dillweed> - - * extra/Configs/Config.arm.default: Leave ldso debugging off by default - - * ldso/ldso/arm/elfinterp.c: Fix a silly compile bug - - * extra/Configs/Config.in: Doh! Leave ldso debugging off by default.. + As a result of this fix, uClibc 0.9.17 will not be binary compatible with + earlier releases. I have always warned people this can and will happen. + -Erik - * extra/Configs/Config.arm.default: - Construct a default arm configuration + * docs/uclibc.org/FAQ.html: + Add FAQ entry for "sh: can't access tty; job control turned off" + -Erik - * extra/config/conf.c, extra/config/confdata.c, extra/config/mconf.c, extra/config/symbol.c: - Some minor changes from Stefan Allius to make conf and - mconf compile under Solaris. + * libc/stdlib/atexit.c: + Doh! Fix potential stack corruption caused by dynamic atexit + allocating size incorrectly.... + -Erik - * ldso/ldso/sh/ld_sysdep.h, ldso/ldso/sh/resolve.S: - Another SuperH patch from Stefan Allius. This make it so - the SuperH lib loader can be compiled by GCC 3.3 +2003-01-23 Erik Andersen <andersen@dillweed> - * INSTALL, README: Update the docs + * libc/sysdeps/linux/v850/Makefile, libc/sysdeps/linux/sparc/Makefile, libc/sysdeps/linux/sh/Makefile, libc/sysdeps/linux/sh/crt0.S, libc/sysdeps/linux/mips/crt0.S, libc/sysdeps/linux/mips/Makefile, libc/sysdeps/linux/i960/Makefile, libc/sysdeps/linux/m68k/Makefile, libc/sysdeps/linux/m68k/crt0.S, libc/sysdeps/linux/i386/Makefile, libc/sysdeps/linux/i386/crt0.S, libc/sysdeps/linux/h8300/Makefile, libc/sysdeps/linux/h8300/crt0.S, libc/sysdeps/linux/cris/Makefile, libc/sysdeps/linux/common/Makefile, libc/sysdeps/linux/arm/Makefile, libc/sysdeps/linux/Makefile, libc/sysdeps/linux/alpha/Makefile, libc/sysdeps/Makefile: + Update architecture specific support to consistantly + generate a crt0 and crt1 file. Most arches still need + to be updated to call __uClibc_start_main() rather than + __uClibc_main(). - * extra/Configs/Config.in.arch, Rules.mak: - Large cleanup patch, based in large part on a patch from - Stefan Allius, which adds a great deal of sanity. + * libc/sysdeps/linux/alpha/Makefile, libc/sysdeps/linux/alpha/crt0.S: + Hopefully this is correct - * extra/config/symbol.c, extra/config/zconf.l, extra/config/zconf.tab.c_shipped, extra/config/zconf.tab.h_shipped, extra/config/conf.c, extra/config/confdata.c, extra/config/expr.h, extra/config/lex.zconf.c_shipped, extra/config/mconf.c: - Merge an update from upstream + * libc/sysdeps/linux/cris/crt0.c, libc/sysdeps/linux/cris/Makefile: + Hopefully this will work as expected. I have no way to + test but this should be correct. - * extra/Configs/Config.in, extra/Configs/Config.in.arch, extra/Configs/Config.m68k, extra/Configs/Config.mips, extra/Configs/Config.mipsel, extra/Configs/Config.powerpc, extra/Configs/Config.sh, extra/Configs/Config.sparc, extra/Configs/Config.v850, extra/Configs/Config.alpha, extra/Configs/Config.arm, extra/Configs/Config.cris, extra/Configs/Config.h8300, extra/Configs/Config.i386, extra/Configs/Config.i386.default, extra/Configs/Config.i960, extra/config/Kconfig-language.txt: - Update doc reference + * libc/sysdeps/linux/arm/crt0.S: + Update crt0 for arm to provide the main reference + a bit more nicely, and make _init and _fini be weak + for people with broken compilers + -Erik -2002-11-07 sjhill <sjhill@dillweed> + * Rules.mak: Shuffle OPTIMIZATION setting a bit - * Rules.mak, extra/Configs/Config.mips, extra/Configs/Config.mips.default, extra/Configs/Config.mipsel.default: - Changes for MIPS and new configuration system. +2003-01-23 Manuel Novoa III <mjn3@dillweed> - * Rules.mak: Fix target determination for MIPSEL. + * libc/stdio/stdio.c: + Wasn't thinking... we don't need to seek to end when appending if stdio + is built without buffer support. -2002-11-07 Manuel Novoa III <mjn3@dillweed> +2003-01-23 Erik Andersen <andersen@dillweed> - * libc/stdlib/strtod.c: Remove atof from strtod.o... + * test/unistd/Makefile, test/termios/Makefile, test/string/Makefile, test/stdlib/Makefile, test/stat/Makefile, test/silly/Makefile, test/signal/Makefile, test/pwd_grp/Makefile, test/malloc/Makefile, test/math/.cvsignore, test/math/Makefile, test/math/rint.c, test/crypt/Makefile, test/Config, test/Rules.mak: + Update tests to be somewhat consistant with the rest of the world - * libc/stdlib/Makefile: Okay, fix for atof _correctly_... + * libc/sysdeps/linux/common/.cvsignore: Update ignore list - * libc/stdlib/Makefile: Apparently I forgot to build atof... + * libc/sysdeps/linux/i386/Makefile: Update a tiny bit -2002-11-07 Erik Andersen <andersen@dillweed> + * libc/Makefile, libc/sysdeps/linux/common/Makefile, extra/scripts/initfini.awk, Rules.mak: + Cleanup makefiles and make clean a bit - * libc/sysdeps/linux/powerpc/sys/procfs.h: - Fixup function prototype for __uint128_t which fixes the compile - on powerpc with gcc 3.2. + * libc/misc/internals/__uClibc_main.c: + Making atexit weak does nothing for dynamicly linked apps. And for + staticly linked apps it entirely prevents destructors from running + unless atexit is called for some other reason. So if they enabled + ctor/dtor support we need to have a call to the real atexit for + dtors to work properly. If people don't want the extra 4k or so + of junk in their static apps, they should leave ctor/dtor support + disabled. -Erik -2002-11-07 sjhill <sjhill@dillweed> + * libc/sysdeps/linux/i386/crt0.S: + simpler method for getting a 'main' reference. Make _init and _fini + be weak so people won't need to fix their compilers - * extra/config/Makefile, extra/Makefile, Makefile: - Fixed makefiles to remove binaries generated for the configuration - menu system when doing a 'make clean'. + * libc/sysdeps/linux/powerpc/crt0.S: + Shuffle two lines so the comment applies to the correct line. -2002-11-07 Erik Andersen <andersen@dillweed> + * libc/sysdeps/linux/powerpc/crt0.S, libc/sysdeps/linux/powerpc/Makefile: + Rewrite powerpc crt0.S for proper ctor/dtor handling - * extra/Configs/Config.in.arch: Add missing blank line + * libc/stdlib/malloc-930716/malloc.c: Kill the needless '#if 1' -2002-11-07 miles <miles@dillweed> + * libc/stdlib/malloc/malloc.c: + Update malloc behavior on malloc(0) to be consistant with + malloc-930716 behavior, i.e. return a NULL. - * extra/Configs/Config.v850, extra/Configs/Config.v850e: - Rename `Config.v850e' to `Config.v850'. + * libpthread/linuxthreads/manager.c, libpthread/linuxthreads/pthread.c, libpthread/linuxthreads/specific.c, libpthread/linuxthreads_db/td_symbol_list.c: + Just be a bit less different from latest glibc version in comments + and in the files where variables live. - * extra/Configs/Config.in.arch (UCLIBC_HAS_MMU): - Depend on !ARCH_HAS_NO_MMU, rather than just using it - to set the default. - (HAS_FPU): Depend on !ARCH_HAS_NO_FPU. - (USE_GCC_SOFT_FLOAT_OPTION): New option. + * libpthread/linuxthreads/sysdeps/mips/pt-machine.h: + Per patch from Nathan Field at ghs.com, fix the mips __compare_and_swap inline + function. Without this fix, pthread_mutex_lock/pthread_mutex_unlock don't work + on mips. - * extra/Configs/Config.in (DOPIC): Depend on !HAVE_NO_PIC. - (UCLIBC_HAS_FULL_RPC): default to `y' if !HAVE_SHARED. - (SYSTEM_LDSO): Depend on HAVE_SHARED. - (DOASSERTS): New option. + * libpthread/linuxthreads/pthread.c: + Per patch from Nathan Field at ghs.com, fix __pthread_initialize_manager so it + locks before calling clone when under a debugger, and unlocks on success or + failure of clone when under a debugger. - * Rules.mak: * Make -DNDEBUG depend on DOASSERTS, not DODEBUG - * Make -msoft-float depend on USE_GCC_SOFT_FLOAT_OPTION, not - UCLIBC_HAS_SOFT_FLOAT. + * libpthread/linuxthreads/manager.c, libpthread/linuxthreads/specific.c: + Per patch from Nathan Field at ghs.com, add a couple of variables + needed to make gdb happy when debugging threadded apps. -2002-11-06 Erik Andersen <andersen@dillweed> + * libpthread/linuxthreads_db/td_symbol_list.c: + Fix indenting. Per patch from Nathan Field at ghs.com, change + LINUXTHREADS_PTHREAD_THREADS_MAX to properly point to "__pthread_threads_max". - * libc/sysdeps/linux/arm/__longjmp.S, libc/sysdeps/linux/arm/setjmp.S, libc/sysdeps/linux/mips/__longjmp.c, libc/sysdeps/linux/mips/setjmp_aux.c: - Update soft-float handling + * extra/config/menubox.c: + Patch from Brett Hunt at micron.com to fixup potential segfaults + during 'make menuconfig' - * extra/config/confdata.c: Increase maximum .config line size to 1024. +2003-01-22 Manuel Novoa III <mjn3@dillweed> - * extra/config/confdata.c: - Recognize 'n' tristate/boolean symbol value in the .config file, - allowing more convenient manual editing of the .config file. Patch - by Petr Baudis, skimmed from linux-kernel mailing list. + * libc/stdio/stdio.c: + Fixed a bug related file position in append mode. _stdio_fwrite now + seeks to the end of the stream when append mode is set and we are + transitioning to write mode, so that subsequent ftell() return + values are correct. + Also fix _stdio_fopen to support fdopen() with append specified when + the underlying file didn't have O_APPEND set. It now sets the + O_APPEND flag as recommended by SUSv3 and is done by glibc. - * ldso/ldso/powerpc/elfinterp.c: Fix up a compile error +2003-01-22 Erik Andersen <andersen@dillweed> - * ldso/ldso/Makefile: Cleanup patch from Simon Rowe + * libc/signal/sigaction.c, libc/sysdeps/linux/arm/sigaction.c, libc/sysdeps/linux/common/bits/kernel_sigaction.h, libc/sysdeps/linux/common/syscalls.c, libc/sysdeps/linux/i386/Makefile, libc/sysdeps/linux/i386/sigaction.c: + Update sigaction syscall names to act more like glibc. Fix the x86 sigaction + implementation such that gdb can actually debug signal handlers. Gdb behaves + much better now, for example, on multi-threaded apps. + -Erik -2002-11-05 Manuel Novoa III <mjn3@dillweed> +2003-01-22 sjhill <sjhill@dillweed> - * libc/misc/wchar/wchar.c: - Forgot to change btowc and wctob when I changed the wc<->mb functions yesterday. + * libc/sysdeps/linux/mips/bits/kernel_types.h: + Changed '__kernel_nlink_t' data type to match Linux/MIPS kernel type + definition and to be consistent with the ABI. Done per conversation + with Ralf (Linux/MIPS) maintainer. -2002-11-05 Erik Andersen <andersen@dillweed> +2003-01-22 Erik Andersen <andersen@dillweed> - * libc/stdio/stdio.c: - For now, leave the "Oddly enough, __fsetlocking() is NOT threadsafe." - comment as an mjn3 only item. + * libc/sysdeps/linux/arm/Makefile, libc/sysdeps/linux/arm/sigaction.c, libc/sysdeps/linux/arm/sigrestorer.S: + Add in arm specific sigaction implementation to fix sa_restorer + behavior so it works as expected - * Rules.mak, extra/Configs/Config.in.arch: Cleanup soft-float support + * libc/sysdeps/linux/common/bits/kernel_sigaction.h: Missed an endif - * libc/sysdeps/linux/h8300/Makefile, libc/sysdeps/linux/m68k/Makefile, Rules.mak: - Fixup handling of disabled options + * libc/sysdeps/linux/common/bits/kernel_sigaction.h, libc/signal/sigaction.c: + Looks like sigaction on arm needs adjustment, so split this into + a common header file and a default implementation. - * extra/gcc-uClibc/Makefile: Fix gcc-uClibc.h dependancies +2003-01-18 Erik Andersen <andersen@dillweed> - * ldso/ldso/sparc/elfinterp.c, ldso/ldso/sh/elfinterp.c, ldso/ldso/powerpc/elfinterp.c, ldso/ldso/mips/elfinterp.c, ldso/ldso/m68k/elfinterp.c, ldso/ldso/i386/elfinterp.c, ldso/ldso/cris/elfinterp.c, ldso/ldso/arm/elfinterp.c, ldso/ldso/readelflib1.c, ldso/ldso/Makefile, ldso/ldso/ldso.c, extra/Configs/Config.in: - Massive scrubbing of the shared lib loader error handling. - Move all configuration options into the new config system. + * libc/misc/file/Makefile, libc/misc/file/lockf64.c: + Only include lockf64 when large file support is enabled, fixing + a problem noticed by Jeff Mock. Sorry about that. -Erik - * libc/termios/ttyname.c: - A patch from Danny Lepage so that we do not setting on symlinks - when looking for a device match, and instead keep looking till - we find the correct device. +2003-01-17 Erik Andersen <andersen@dillweed> - * docs/Glibc_vs_uClibc_Differences.txt: Expand NIS comments - - * Rules.mak, extra/gcc-uClibc/Makefile, extra/gcc-uClibc/gcc-uClibc.c, libpthread/Makefile: - Standardize LIBGCC_DIR - - * ldso/ldso/Makefile: Kill legacy DOPIC=true assignment + * Rules.mak: Remember to also export LC_ALL in addition to setting it. + -Erik - * libc/Makefile: Patch from Stefan Allius -- export LIBGCC +2003-01-16 Erik Andersen <andersen@dillweed> - * libc/sysdeps/linux/common/Makefile: - Patch from Stefan Allius. Include CPU_CFLAGS when compiling - initfini + * extra/Configs/Config.arm, extra/Configs/Config.i386, extra/Configs/Config.i386.default, Rules.mak: + Update build rules a bit. fix quoting problems. Update default + x86 compiler optimization to not force building i386 opcodes. - * extra/config/symbol.c: Patch from M. R. Brown to fix 'make defconfig' +2003-01-14 Erik Andersen <andersen@dillweed> - * Rules.mak: Export TARGET_ARCH + * Rules.mak: Strip off unwanted quotes from ARCH_CFLAGS. Attempt to + enforce consistent sort order, 'gcc -print-search-dirs' + behavior, etc by forcing the build into the C locale. + -Erik -2002-11-04 Manuel Novoa III <mjn3@dillweed> +2003-01-11 Erik Andersen <andersen@dillweed> - * docs/Glibc_vs_uClibc_Differences.txt: - Hit the highlights of glibc differences in my code. Not yet complete though. + * extra/config/Makefile: + Patch from Robert Schwebel -- support ncurses installed in /usr/local - * libc/misc/wchar/wchar.c, libc/stdio/printf.c: - Add printf wchar support for %lc (%C) and %ls (%S). - Require printf format strings to be valid multibyte strings beginning and - ending in their initial shift state, as per the stds. +2003-01-10 Erik Andersen <andersen@dillweed> - Fixed a bug in _wchar_wcsntoutf8s(). Don't store wcs position if dst is NULL. - Also, introduce an awful hack into _wchar_wcsntoutf8s() and wcsrtombs() in - order to support %ls in printf. See comments below for details. - Change behaviour of wc<->mb functions when in the C locale. Now they do - a 1-1 map for the range 0x80-UCHAR_MAX. This is for backwards compatibility - and consistency with the stds requirements that a printf format string by - a valid multibyte string beginning and ending in it's initial shift state. + * docs/uclibc.org/index.html: Update website dev image blurb - * Rules.mak: This fixes a broken build for me. + * libc/inet/resolv.c: Patch from Jay Kulpinski: + __decode_dotted() does not count the null terminating byte of + a hostname in the DNS response. This causes lookups to fail + if the DNS response doesn't compress domain names in the + message. -2002-11-04 Erik Andersen <andersen@dillweed> + * libc/inet/ether_addr.c: Fix warnings - * Rules.mak: Fixup so we use soft-float when HAS_FPU is disabled. + * libc/misc/file/Makefile, libc/misc/file/lockf64.c: Implement lockf64 -Erik - * libc/sysdeps/linux/sh/__longjmp.S, libc/sysdeps/linux/sh/bsd-_setjmp.S, libc/sysdeps/linux/sh/bsd-setjmp.S, libc/sysdeps/linux/sh/clone.S, libc/sysdeps/linux/sh/setjmp.S, libc/sysdeps/linux/sh/vfork.S: - I dunno why there were align 5, but align 4 is much more sensible. + * libc/inet/Makefile, libc/inet/ether_addr.c: + Patch from Nick Fedchik to support ether_aton - * libc/sysdeps/linux/sh/bsd-setjmp.S, libc/sysdeps/linux/sh/clone.S, libc/sysdeps/linux/sh/setjmp.S, libc/sysdeps/linux/sh/sysdep.h, libc/sysdeps/linux/sh/vfork.S, libc/sysdeps/linux/sh/__longjmp.S, libc/sysdeps/linux/sh/bsd-_setjmp.S: - Kill sysdep.h and fixup the SH asm to not use it. - -Erik - - * libc/sysdeps/linux/sh/clone.S: - Don't use ENTRY(), make the asm explicit - -Erik +2003-01-09 Erik Andersen <andersen@dillweed> * docs/uclibc.org/index.html: - Add link to search google's uclibc archive + mention the uClibc root_fs now available on uclibc.org - * libc/sysdeps/linux/common/syscalls.c: Oops. Fix compilation on arm. + * include/stdlib.h: + Hide unimplemented and legacy ecvt and friends from configure. -Erik -2002-11-03 Erik Andersen <andersen@dillweed> - - * libc/sysdeps/linux/arm/inout_bwl.c, libc/sysdeps/linux/arm/ioperm.c, libc/sysdeps/linux/arm/Makefile: - A patch from Vincent Sanders to fix the arm implementation of - ioperm() and iopl() - -2002-11-03 Manuel Novoa III <mjn3@dillweed> +2003-01-08 Erik Andersen <andersen@dillweed> - * libc/stdio/printf.c: - It was easy enough to respect locale-specific decimal point for printf - floating point output, so at least implement that. But grouping will - have to wait for the rewrite of _dtostr. + * include/inttypes.h: + Disable the __USE_EXTERN_INLINES versions of these headers, which + use non-existant glibc internals. - * libc/stdio/stdio.c, libc/stdio/printf.c, libc/sysdeps/linux/common/bits/uClibc_stdio.h: - Implement locale-specific grouping in printf for base 10 integer conversions - when the grouping flag "'" is specified. Grouping for floating point values - may wait until I do a rewrite of the floating pt to string code... +2003-01-08 Manuel Novoa III <mjn3@dillweed> -2002-11-03 Erik Andersen <andersen@dillweed> + * include/stdlib.h: + For now, "#if 0" out the inlining of (currently unsupported) glibc-specific + string->numeric conversion functions. - * ldso/ldso/sh/elfinterp.c, ldso/ldso/sh/ld_sysdep.h, ldso/ldso/sh/resolve.S, ldso/ldso/ldso.c: - Several SH lib loader patches by Stefan Allius <allius@atecom.com> - and "M. R. Brown" <mrbrown@0xd6.org> +2003-01-08 Erik Andersen <andersen@dillweed> - * extra/scripts/initfini.awk, libc/sysdeps/linux/common/initfini.c: - Another update to initfini.awk and initfini.c from Stefan Allius - to hopefully address SH wierdness. Now works on other architecture - properly as well. - - * libc/sysdeps/linux/cris/sysdep.h, libc/sysdeps/linux/i960/clone.S, libc/sysdeps/linux/m68k/clone.S, libc/sysdeps/linux/sh/sysdep.h: - Properly prefix some symbols - - * extra/Configs/Config.in.arch, extra/Configs/Config.m68k, extra/Configs/Config.mips, extra/Configs/Config.mipsel, extra/Configs/Config.powerpc, extra/Configs/Config.sh, extra/Configs/Config.sparc, extra/Configs/Config.v850e, extra/Configs/Config.cris, extra/Configs/Config.h8300, extra/Configs/Config.i386, extra/Configs/Config.i386.default, extra/Configs/Config.i960, extra/Configs/Config.alpha, extra/Configs/Config.arm, Rules.mak: - Yet more config system updating. - - * ldso/ldso/sh/boot1_arch.h, ldso/ldso/sh/ld_sysdep.h: - Patch from M. R. Brown <mrbrown@0xd6.org> to get rid of - "depreciated multi-line string literals" warnings + * docs/uclibc.org/index.html: + Lineo has ceased to exist and is no longer a sponsor - * libc/inet/resolv.c: - Patch from "Cho, Seong-Myun" <smcho@xecurenexus.com> to limit - things to the lower 16 bits of 'id'. +2003-01-05 Manuel Novoa III <mjn3@dillweed> - * Makefile, Rules.mak: Use "include_config" not "include-config" + * libc/stdio/stdio.c, TODO: + Fix a silly bug in _wstdio_fwrite. wprintf %s should now work correctly. -2002-11-02 Erik Andersen <andersen@dillweed> +2003-01-03 Erik Andersen <andersen@dillweed> - * extra/Configs/Config.sh: - kill some ancient stuff that appears to be lingering + * ldso/libdl/dlib.c: + If they call dlopen with anything other than RTLD_LAZY + or RTLD_NOW then we need to error out. - * extra/Configs/Config.sh: Default to SH4 +2003-01-02 Erik Andersen <andersen@dillweed> - * extra/Configs/Config.sparc, extra/Configs/Config.v850e, extra/Configs/Config.alpha, extra/Configs/Config.arm, extra/Configs/Config.cris, extra/Configs/Config.cross.arm.uclinux, extra/Configs/Config.h8300, extra/Configs/Config.i386, extra/Configs/Config.i386.default, extra/Configs/Config.i960, extra/Configs/Config.in.arch, extra/Configs/Config.m68k, extra/Configs/Config.m68k.coff, extra/Configs/Config.mips, extra/Configs/Config.mipsel, extra/Configs/Config.powerpc, extra/Configs/Config.sh: - update all the Config files for the various arches so they work with the new - config system. Hopefully I got everything here correct... + * libc/sysdeps/linux/sparc/bits/syscalls.h, libc/sysdeps/linux/sparc/Makefile, libc/sysdeps/linux/sparc/__longjmp.S, libc/sysdeps/linux/sparc/fork.S, libc/sysdeps/linux/sparc/rem.S, libc/sysdeps/linux/sparc/sdiv.S, libc/sysdeps/linux/sparc/setjmp.S, libc/sysdeps/linux/sparc/sysdep.h, libc/sysdeps/linux/sparc/udiv.S, libc/sysdeps/linux/sparc/umul.S, libc/sysdeps/linux/sparc/urem.S, libc/sysdeps/linux/sparc/vfork.S, libpthread/linuxthreads/sysdeps/sparc/pt-machine.h, libpthread/linuxthreads/sysdeps/sparc/sigcontextinfo.h: + Rework sparc architecture support so it will compile + and run. Seems to be working... -Erik - * TODO: Update TODO items - - * extra/config/.cvsignore, extra/config/Makefile, extra/config/zconf.tab.c_shipped, extra/config/zconf.y: - A few cosmetic adjustments, and fixup the makefile a bit +2002-12-21 Erik Andersen <andersen@dillweed> - * extra/Configs/Config.i386.default, extra/Configs/Config.in, ldso/ldso/Makefile: - Fix PIC configuration, so shared libraries once again work + * libc/sysdeps/linux/powerpc/Makefile: + Be sure we have a crt1.o file. Use the asm version by default. -Erik - * extra/Configs/Config.in: - It looks like I lost DEVEL_TOOL_PREFIX. Put it back. - -Erik +2002-12-20 Manuel Novoa III <mjn3@dillweed> -2002-11-01 Manuel Novoa III <mjn3@dillweed> + * TODO: Update. - * libc/misc/locale/locale.c: Fix a stupid bug. + * extra/locale/LOCALES: Obligatory forgotten update... - * libc/misc/locale/locale.c: - Reworked setlocale() return values and locale arg processing to - be more like glibc. Applications expecting to be able to - query locale settings should now work... at the cost of almost - doubling the size of the setlocale object code. - Fixed a bug in the internal fixed-size-string locale specifier code. + * extra/locale/Makefile: + Add a target so that people can download and use pregenerated locale data + files instead of generating approx 40Mb of glibc locales to get the 300+ + locales currently supported. - * extra/locale/LOCALES: Add a few more entries. + * libc/sysdeps/linux/common/bits/uClibc_locale.h, libc/string/Makefile, libc/string/wstring.c, libc/stdio/printf.c, libc/stdio/stdio.c, libc/misc/locale/locale.c, include/langinfo.h, extra/locale/collation/tl_PH, extra/locale/collation/tr_TR, extra/locale/collation/tt_RU, extra/locale/collation/uk_UA, extra/locale/collation/ur_PK, extra/locale/collation/uz_UZ, extra/locale/collation/vi_VN, extra/locale/collation/wa_BE, extra/locale/collation/yi_US, extra/locale/collation/zh_CN, extra/locale/collation/zh_HK, extra/locale/collation/zh_SG, extra/locale/collation/zh_TW, extra/locale/collation/oc_FR, extra/locale/collation/pl_PL, extra/locale/collation/pt_BR, extra/locale/collation/pt_PT, extra/locale/collation/ro_RO, extra/locale/collation/ru_RU, extra/locale/collation/ru_UA, extra/locale/collation/se_NO, extra/locale/collation/sk_SK, extra/locale/collation/sl_SI, extra/locale/collation/sq_AL, extra/locale/collation/sr_YU, extra/locale/collation/sv_FI, extra/locale/collation/sv_SE, extra/locale/collation/ta_IN, extra/locale/collation/te_IN, extra/locale/collation/tg_TJ, extra/locale/collation/th_TH, extra/locale/collation/ti_ER, extra/locale/collation/ti_ET, extra/locale/collation/mi_NZ, extra/locale/collation/mk_MK, extra/locale/collation/mr_IN, extra/locale/collation/ms_MY, extra/locale/collation/mt_MT, extra/locale/collation/nl_BE, extra/locale/collation/nl_NL, extra/locale/collation/nn_NO, extra/locale/collation/no_NO, extra/locale/collation/hu_HU, extra/locale/collation/hy_AM, extra/locale/collation/id_ID, extra/locale/collation/is_IS, extra/locale/collation/iso14651_t1, extra/locale/collation/it_CH, extra/locale/collation/it_IT, extra/locale/collation/iw_IL, extra/locale/collation/ja_JP, extra/locale/collation/ka_GE, extra/locale/collation/kl_GL, extra/locale/collation/ko_KR, extra/locale/collation/kw_GB, extra/locale/collation/lt_LT, extra/locale/collation/lv_LV, extra/locale/collation/es_VE, extra/locale/collation/et_EE, extra/locale/collation/eu_ES, extra/locale/collation/fa_IR, extra/locale/collation/fi_FI, extra/locale/collation/fo_FO, extra/locale/collation/fr_BE, extra/locale/collation/fr_CA, extra/locale/collation/fr_CH, extra/locale/collation/fr_FR, extra/locale/collation/fr_LU, extra/locale/collation/ga_IE, extra/locale/collation/gd_GB, extra/locale/collation/gl_ES, extra/locale/collation/gv_GB, extra/locale/collation/he_IL, extra/locale/collation/hi_IN, extra/locale/collation/hr_HR, extra/locale/collation/en_ZW, extra/locale/collation/eo_EO, extra/locale/collation/es_AR, extra/locale/collation/es_BO, extra/locale/collation/es_CL, extra/locale/collation/es_CO, extra/locale/collation/es_CR, extra/locale/collation/es_DO, extra/locale/collation/es_EC, extra/locale/collation/es_ES, extra/locale/collation/es_GT, extra/locale/collation/es_HN, extra/locale/collation/es_MX, extra/locale/collation/es_NI, extra/locale/collation/es_PA, extra/locale/collation/es_PE, extra/locale/collation/es_PR, extra/locale/collation/es_PY, extra/locale/collation/es_SV, extra/locale/collation/es_US, extra/locale/collation/es_UY, extra/locale/collation/cs_CZ, extra/locale/collation/cy_GB, extra/locale/collation/da_DK, extra/locale/collation/de_AT, extra/locale/collation/de_BE, extra/locale/collation/de_CH, extra/locale/collation/de_DE, extra/locale/collation/de_LU, extra/locale/collation/el_GR, extra/locale/collation/en_AU, extra/locale/collation/en_BW, extra/locale/collation/en_CA, extra/locale/collation/en_DK, extra/locale/collation/en_GB, extra/locale/collation/en_HK, extra/locale/collation/en_IE, extra/locale/collation/en_IN, extra/locale/collation/en_NZ, extra/locale/collation/en_PH, extra/locale/collation/en_SG, extra/locale/collation/en_US, extra/locale/collation/en_ZA, extra/locale/collation/af_ZA, extra/locale/collation/am_ET, extra/locale/collation/ar_AE, extra/locale/collation/ar_BH, extra/locale/collation/ar_DZ, extra/locale/collation/ar_EG, extra/locale/collation/ar_IN, extra/locale/collation/ar_IQ, extra/locale/collation/ar_JO, extra/locale/collation/ar_KW, extra/locale/collation/ar_LB, extra/locale/collation/ar_LY, extra/locale/collation/ar_MA, extra/locale/collation/ar_OM, extra/locale/collation/ar_QA, extra/locale/collation/ar_SA, extra/locale/collation/ar_SD, extra/locale/collation/ar_SY, extra/locale/collation/ar_TN, extra/locale/collation/ar_YE, extra/locale/collation/az_AZ, extra/locale/collation/be_BY, extra/locale/collation/bg_BG, extra/locale/collation/bn_BD, extra/locale/collation/bn_IN, extra/locale/collation/br_FR, extra/locale/collation/bs_BA, extra/locale/collation/ca_ES, extra/locale/collation/comm, extra/locale/charmaps/ARMSCII-8.pairs, extra/locale/charmaps/CP1255.pairs, extra/locale/charmaps/GEORGIAN-PS.pairs, extra/locale/charmaps/KOI8-T.pairs, extra/locale/Makefile, extra/locale/gen_collate.c, extra/locale/gen_ldc.c, extra/locale/gen_locale.c, extra/locale/gen_wc8bit.c, extra/locale/locale_mmap.h, extra/locale/tst_nl_langinfo.c: + The big thing is locale dependent collation support. + Also added outdigit support and (legacy) YESSTR/NOSTR support. - * extra/locale/gen_locale.c: - Work around glibc brain-damage regarding nl_langinfo and {mon_}grouping - entries. +2002-12-19 Erik Andersen <andersen@dillweed> -2002-11-01 Erik Andersen <andersen@dillweed> + * docs/uclibc.org/uClibc-apps.html: Thanks to Siim Vahtre, add mplayer - * docs/uclibc.org/uClibc-apps.html: Fix udhcp link +2002-12-18 miles <miles@dillweed> - * Rules.mak: Don't assume i386 + * libc/sysdeps/linux/v850/sys/procfs.h: Initial checkin -2002-10-31 Erik Andersen <andersen@dillweed> + * libpthread/Makefile, libc/sysdeps/linux/v850/bits/kernel_types.h: + whitespace - * extra/Configs/Config.arm, extra/Configs/Config.i386, extra/Configs/Config.in.arch, Rules.mak: - Make it so arch specific stuff can be simpler. Initial attempt at - making CPU_CFLAGS, which should allow things to be optimized per-CPU - and/or per-system. - -Erik + * libc/sysdeps/linux/v850/Makefile (SSRC): + Rename longjmp.S to __longjmp.S + (CSRC): Add clone.c - * extra/config/lxdialog/.cvsignore, extra/config/lxdialog/lxdialog, extra/config/zconf.tab.c, extra/config/zconf.tab.h, extra/config/.cvsignore, extra/config/conf, extra/config/lex.zconf.c, extra/config/lkc_defs.h, extra/config/mconf: - Oops. Kill generated binaries. + * libc/sysdeps/linux/v850/clone.c: Initial checkin - * extra/gcc-uClibc/Makefile: Skip the dependancy on .config for now + * libc/sysdeps/linux/v850/__longjmp.S, libc/sysdeps/linux/v850/longjmp.S: + Rename longjmp.S to __longjmp.S + Remove extra weak symbols defined by ../common/longjmp.c - * extra/gcc-uClibc/Makefile: Fix a lingering reference to Config - -Erik +2002-12-17 Erik Andersen <andersen@dillweed> - * test/Makefile, test/Rules.mak: - Allow 'make clean' on the test stuff to work with the new config system. - -Erik + * extra/config/Makefile, extra/Makefile: + Patch from Stefan Allius. Only build config stuff when needed. - * Rules.mak: Don't force gcc 3.2 on the world + * include/dirent.h: + Dop not restrict the IFTODT() and DTTOIF() macros when + _DIRENT_HAVE_D_TYPE is not defined. -Erik - * libutil/Makefile, libpthread/linuxthreads/attr.c, libpthread/linuxthreads/weaks.c, libpthread/linuxthreads/wrapsyscall.c, libpthread/Makefile, libm/powerpc/Makefile, libm/Makefile, libc/unistd/Makefile, libc/unistd/daemon.c, libc/unistd/fpathconf.c, libc/unistd/pathconf.c, libc/sysdeps/linux/sh/sysdep.h, libc/sysdeps/linux/powerpc/Makefile, libc/sysdeps/linux/m68k/Makefile, libc/sysdeps/linux/m68k/clone.S, libc/sysdeps/linux/m68k/crt0.S, libc/sysdeps/linux/m68k/vfork.S, libc/sysdeps/linux/i960/README, libc/sysdeps/linux/h8300/Makefile, libc/sysdeps/linux/h8300/crt0.S, libc/sysdeps/linux/h8300/vfork.S, libc/sysdeps/linux/cris/Makefile, libc/sysdeps/linux/common/bits/posix_opt.h, libc/sysdeps/linux/common/bits/uClibc_stdio.h, libc/sysdeps/linux/common/setrlimit64.c, libc/sysdeps/linux/common/syscalls.c, libc/sysdeps/linux/common/truncate64.c, libc/sysdeps/linux/common/Makefile, libc/sysdeps/linux/common/creat64.c, libc/sysdeps/linux/common/ftruncate64.c, libc/sysdeps/linux/common/getdirname.c, libc/sysdeps/linux/common/getrlimit64.c, libc/sysdeps/linux/common/initfini.c, libc/sysdeps/linux/common/llseek.c, libc/sysdeps/linux/common/mmap64.c, libc/sysdeps/linux/common/open64.c, libc/sysdeps/linux/common/pread_write.c, libc/string/Makefile, libc/stdlib/Makefile, libc/stdlib/getpt.c, libc/stdlib/grantpt.c, libc/stdlib/ptsname.c, libc/stdio/Makefile, libc/stdio/tmpfile.c, libc/pwd_grp/Makefile, libc/misc/time/Makefile, libc/misc/statfs/Makefile, libc/misc/statfs/fstatfs64.c, libc/misc/statfs/fstatvfs64.c, libc/misc/statfs/statfs64.c, libc/misc/statfs/statvfs64.c, libc/misc/locale/Makefile, libc/misc/internals/Makefile, libc/misc/internals/tempname.c, libc/misc/glob/glob64.c, libc/misc/dirent/alphasort64.c, libc/misc/dirent/readdir64.c, libc/misc/dirent/readdir64_r.c, libc/misc/dirent/scandir64.c, libc/misc/Makefile, libc/inet/rpc/Makefile, libc/inet/Makefile, ldso/ldso/Makefile, ldso/Makefile, include/sys/cdefs.h, include/features.h, extra/locale/Makefile, extra/gcc-uClibc/Makefile, extra/gcc-uClibc/gcc-uClibc.c, extra/config/lxdialog/inputbox.c, extra/config/lxdialog/lxdialog, extra/config/lxdialog/lxdialog.c, extra/config/lxdialog/menubox.c, extra/config/lxdialog/msgbox.c, extra/config/lxdialog/textbox.c, extra/config/lxdialog/util.c, extra/config/lxdialog/yesno.c, extra/config/lxdialog/BIG.FAT.WARNING, extra/config/lxdialog/Makefile, extra/config/lxdialog/checklist.c, extra/config/lxdialog/colors.h, extra/config/lxdialog/dialog.h, extra/config/zconf.tab.c_shipped, extra/config/zconf.tab.h, extra/config/zconf.tab.h_shipped, extra/config/zconf.y, extra/config/lkc_proto.h, extra/config/mconf, extra/config/mconf.c, extra/config/menu.c, extra/config/symbol.c, extra/config/zconf.l, extra/config/zconf.tab.c, extra/config/lex.zconf.c_shipped, extra/config/lkc.h, extra/config/lkc_defs.h, extra/config/Makefile, extra/config/conf, extra/config/conf.c, extra/config/confdata.c, extra/config/expr.c, extra/config/expr.h, extra/config/lex.zconf.c, extra/Configs/Config.i386, extra/Configs/Config.i386.default, extra/Configs/Config.in, Rules.mak, .cvsignore, Makefile: - Ok, this commit is _huge_ and its gonna change the world. I've - been working on a new config system on and off for about 6 months - now, but I've never been fully satisfied. Well, I'm finally am - happy with the new config system, so here it is. This completely - removes the old uClibc configuration system, and replaces it with - an entirely new system based on LinuxKernelConf, from - http://www.xs4all.nl/~zippel/lc/ - As it turns out, Linus has just merged LinuxKernelConf into Linux - 2.5.45, so it looks like I made the right choice. - - I have thus far updated only x86. I'll be updating the other - architectures shortly. - -Erik - - * test/malloc/.cvsignore: Ignore generated stuff - - * test/malloc/Makefile, test/malloc/realloc0.c: - Add a simple realloc test - -Erik +2002-12-13 Erik Andersen <andersen@dillweed> - * extra/scripts/get-needed-libgcc-objects.sh: - Fixup script to avoid potential spurious whining over empty object files. + * extra/config/Makefile, extra/Configs/Config.in, Makefile, Rules.mak: + Only build the ncurses stuff when it is needed, based on a + patch from Stefan Allius (though the extra/config/Makefile + rework is mine), -Erik -2002-10-30 Erik Andersen <andersen@dillweed> + * Rules.mak: Move the soft float check - * ldso/util/bswap.h: Use '#ifdef __linux__' not '#ifdef linux' +2002-12-12 Erik Andersen <andersen@dillweed> - * Rules.mak: Use a nifty macro to make testing gcc features simpler - and easier to read. + * ldso/libdl/Makefile, ldso/libdl/dlib.c, ldso/ldso/hash.c, ldso/ldso/ldso.c, ldso/ldso/readelflib1.c: + Rework things such that staticly linked applications can use + dlopen and have it be successful. This required moving some + things out of ldso.c into readelflib1.c, and directly including + hash.c and readelflib1.c into dlib.c when building the static + version of the library. -Erik -2002-10-29 Manuel Novoa III <mjn3@dillweed> - - * libc/stdlib/stdlib.c: - Fix a couple of 'restrict' bugs in mbstowcs and wcstombs. - -2002-10-29 Erik Andersen <andersen@dillweed> + * extra/gcc-uClibc/gcc-uClibc.c: + Use crt1.o when ctor/dtor support is enabled - * libc/stdio/printf.c: Fix a silly typo for Manuel + * extra/gcc-uClibc/gcc-uClibc.c: + When -shared is specified, meaning they wish to create a shared + library, we need to disable adding start files (i.e. crt0) since + it isn't supposed to be creating an executable, just a shared lib. -Erik - * extra/scripts/initfini.awk: For now, comment out the broken part - - * extra/scripts/initfini.awk, libc/sysdeps/linux/common/initfini.c: - Remove my horrible SH hack infavor of this fix for initfini.awk from - Stefan Allius <allius@atecom.com>, which does a better job. - - * libpthread/linuxthreads/manager.c: - A patch from Arne Jonsson <arne.jonsson@i3micro.com>: + * docs/uclibc.org/uClibc-apps.html: Oops. Patch was vs 5beta. - Attached are the changes we think is necessary in order to use user - defined stacksizes for each thread. When testing I forgot to lower the - PTHREAD_STACK_MIN to the lowest value used for the stacks, this caused - stranged reboots. - As said before, we are using uClinux 2.0.38 on a ARM7TDMI. + * extra/scripts/initfini.awk: It seems SCO puts touch in a wierd place - * libc/sysdeps/linux/common/initfini.c: - Add in a horrible hack that seems necessary for the Hitachi - SH processors to work properly. + * libc/sysdeps/linux/sh/Makefile, libc/sysdeps/linux/sh/crt0.S, libc/sysdeps/linux/mips/Makefile, libc/sysdeps/linux/mips/crt0.S, libc/sysdeps/linux/i386/Makefile, libc/sysdeps/linux/i386/crt0.S, libc/sysdeps/linux/i386/crt0.c, libc/sysdeps/linux/common/Makefile, libc/sysdeps/linux/arm/Makefile, libc/sysdeps/linux/arm/crt0.S: + Based on discussions with Stefan Allius, change it so that we always + build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if + such support is enabled. One more gratuitous toolchain support issue + is thereby removed... -Erik -2002-10-29 Manuel Novoa III <mjn3@dillweed> - - * libc/stdio/printf.c: - Fix a problem in vasprintf (reported by vodz a while back) when built - without custom stream support. In that case, it is necessary to do - a va_copy. Note: The affected code is not built in the stock config. - Also, make sure each va_copy has a matching va_end, as required by C99. - -2002-10-28 Manuel Novoa III <mjn3@dillwee |