diff options
Diffstat (limited to 'Changelog.full')
-rw-r--r-- | Changelog.full | 1151 |
1 files changed, 614 insertions, 537 deletions
diff --git a/Changelog.full b/Changelog.full index 4961a18e5..e32f33362 100644 --- a/Changelog.full +++ b/Changelog.full @@ -1,813 +1,890 @@ -2002-06-20 Erik Andersen <andersen@dillweed> +2002-08-09 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/docs/uclibc.org/index.html: - Update the webpage for release - -Erik + * /var/cvs/uClibc/TODO: Update todo list a bit - * /var/cvs/uClibc/extra/gcc-uClibc/Makefile, /var/cvs/uClibc/extra/gcc-uClibc/gcc-uClibc.c: - Add support for doing the mmu-less thing + * /var/cvs/uClibc/ldso/ldso/arm/ld_sysdep.h: + Ok, bad idea. didn't work. -Erik - * /var/cvs/uClibc/libc/misc/internals/__uClibc_main.c: - Cleanup the function pointer comparisions - -Erik + * /var/cvs/uClibc/libc/sysdeps/linux/mips/Makefile: + Add in __uClibc_syscall - * /var/cvs/uClibc/Rules.mak: - Some Rules cleanups, better gcc-3.1 support. - -Erik + * /var/cvs/uClibc/libc/sysdeps/linux/mips/__uClibc_syscall.S: + Initial piece of unified syscall support from Brecis Communications - * /var/cvs/uClibc/extra/gcc-uClibc/Makefile, /var/cvs/uClibc/extra/gcc-uClibc/gcc-uClibc.c: - Fix a bug reported by Michael Weiser <michael@weiser.saale-net.de> - which could cause incorrect invocations of g++. Cleanup a few things. - Add a new --uclibc-ctors flag allowing one to apply ctor/dtor support - to regular C code. - -Erik + * /var/cvs/uClibc/libc/sysdeps/linux/mips/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/mips/fork.S: + New and improved fork for mips, thanks to the fine folks + at Brecis Communications. - * /var/cvs/uClibc/test/string/Makefile, /var/cvs/uClibc/test/Rules.mak: - Several test case cleanups - -Erik +2002-08-09 davidm <davidm@dillweed> - * /var/cvs/uClibc/libc/inet/resolv.c: - Fix DNS resolution so that it once again works. I'd broken it - when adding some locking code. - -Erik + * /var/cvs/uClibc/include/stdio.h: + Fix some more warnings for non-thread-enabled compiles. -2002-06-19 Erik Andersen <andersen@dillweed> +2002-08-09 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/extra/Configs/Config.arm, /var/cvs/uClibc/extra/Configs/Config.cross.arm.uclinux, /var/cvs/uClibc/extra/Configs/Config.h8300, /var/cvs/uClibc/extra/Configs/Config.i386, /var/cvs/uClibc/extra/Configs/Config.i960, /var/cvs/uClibc/extra/Configs/Config.m68k, /var/cvs/uClibc/extra/Configs/Config.m68k.coff, /var/cvs/uClibc/extra/Configs/Config.mips, /var/cvs/uClibc/extra/Configs/Config.mipsel, /var/cvs/uClibc/extra/Configs/Config.powerpc, /var/cvs/uClibc/extra/Configs/Config.sh, /var/cvs/uClibc/extra/Configs/Config.sparc, /var/cvs/uClibc/extra/Configs/Config.v850e, /var/cvs/uClibc/extra/Configs/Config.alpha: - Fix incorrect comment re malloc-930716 + * /var/cvs/uClibc/ldso/ldso/sparc/DEFS.h, /var/cvs/uClibc/ldso/ldso/sparc/ld_sysdep.h, /var/cvs/uClibc/ldso/ldso/sparc/sdiv.S, /var/cvs/uClibc/ldso/ldso/sparc/udiv.S, /var/cvs/uClibc/ldso/ldso/sparc/umul.S, /var/cvs/uClibc/ldso/ldso/sparc/urem.S, /var/cvs/uClibc/ldso/ldso/sh/ld_sysdep.h, /var/cvs/uClibc/ldso/ldso/arm/ld_sysdep.h, /var/cvs/uClibc/ldso/ldso/Makefile: + Link ldso vs libgcc.a and eliminate baggage caused by + not previously linking vs libgcc -Erik - * /var/cvs/uClibc/libc/termios/ttyname.c: - Oops. Looks like I broke ttyname. Fix it. - -Erik +2002-08-09 davidm <davidm@dillweed> -2002-06-18 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/libm/e_asin.c, /var/cvs/uClibc/libm/e_exp.c, /var/cvs/uClibc/libm/e_rem_pio2.c, /var/cvs/uClibc/libm/s_expm1.c, /var/cvs/uClibc/libc/sysdeps/linux/sh/longjmp.c, /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c, /var/cvs/uClibc/libc/stdio/printf.c, /var/cvs/uClibc/include/features.h: + Fix a number of compile time warnings so that uClibc will build with -Werror using + a 3.0.4 version of the sh-linux-gcc compiler. - * /var/cvs/uClibc/test/unistd/Makefile, /var/cvs/uClibc/test/unistd/getcwd.c: - A simple test for getcwd - -Erik + * /var/cvs/uClibc/libc/sysdeps/linux/common/pread_write.c: + pread and pwrite were broken in several ways: + + * pwrite was using the write system call. + + * SYSCALL_INLINE was only defined for pread and reused by pwrite + meaning pwrite did a pread :-). - * /var/cvs/uClibc/libc/sysdeps/linux/common/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/common/getcwd.c, /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c, /var/cvs/uClibc/libc/unistd/Makefile, /var/cvs/uClibc/libc/unistd/getcwd.c: - Cleanup the getcwd implementation (again) since I broke it - last night. Restore malloc-ing when buf=NULL for the syscall - version... Move getcwd to libc/sysdeps/linux/common and out - of syscalls.c so there is just one getcwd.o object present. + * The kernel pread/pwrite interfaces always take a 64bit value. So + the libc versions must do the LONG_LONG_PAIR stuff otherwise the + pread/pwrite calls will not work. + + These guys are working now for SH at least (and I can format my + DiskOnChip again ;-) + + * /var/cvs/uClibc/libc/sysdeps/linux/common/initfini.c: + At some stage I was getting conflicts on the SH platform with + the two i_am_not_a_leaf functions, changing the name of one is harmless + and fixed the problem at the time. Not entirely sure it's still required. + + * /var/cvs/uClibc/libc/inet/rpc/rpc_thread.c: + Changes so that this file builds if we are not using threads. + +2002-08-09 Erik Andersen <andersen@dillweed> + + * /var/cvs/uClibc/libc/Makefile: Be more path independent + + * /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/syscalls.h: + Doh! I broke it. oops. Patch from Stefan Allius to fix it. + + * /var/cvs/uClibc/ldso/ldso/arm/ld_syscalls.h, /var/cvs/uClibc/ldso/ldso/i386/ld_syscalls.h, /var/cvs/uClibc/ldso/ldso/mips/ld_syscalls.h, /var/cvs/uClibc/ldso/ldso/sh/ld_syscalls.h: + Patch from Stefan Allius, avoid compiler warnings (unused variable) + + * /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/syscalls.h: + Cleanup error returns to avoid warnings -Erik - * /var/cvs/uClibc/libc/inet/rpc/svc_udp.c, /var/cvs/uClibc/libc/inet/rpc/xdr.c, /var/cvs/uClibc/libc/inet/rpc/xdr_array.c, /var/cvs/uClibc/libc/inet/rpc/xdr_float.c, /var/cvs/uClibc/libc/inet/rpc/xdr_reference.c, /var/cvs/uClibc/libc/inet/rpc/clnt_perror.c, /var/cvs/uClibc/libc/inet/rpc/clnt_raw.c, /var/cvs/uClibc/libc/inet/rpc/clnt_simple.c, /var/cvs/uClibc/libc/inet/rpc/clnt_tcp.c, /var/cvs/uClibc/libc/inet/rpc/clnt_udp.c, /var/cvs/uClibc/libc/inet/rpc/get_myaddress.c, /var/cvs/uClibc/libc/inet/rpc/getrpcport.c, /var/cvs/uClibc/libc/inet/rpc/pmap_getmaps.c, /var/cvs/uClibc/libc/inet/rpc/pmap_getport.c, /var/cvs/uClibc/libc/inet/rpc/pmap_prot.c, /var/cvs/uClibc/libc/inet/rpc/pmap_prot2.c, /var/cvs/uClibc/libc/inet/rpc/pmap_rmt.c, /var/cvs/uClibc/libc/inet/rpc/rcmd.c, /var/cvs/uClibc/libc/inet/rpc/rpc_callmsg.c, /var/cvs/uClibc/libc/inet/rpc/rpc_dtablesize.c, /var/cvs/uClibc/libc/inet/rpc/rpc_prot.c, /var/cvs/uClibc/libc/inet/rpc/rtime.c, /var/cvs/uClibc/libc/inet/rpc/svc_auth.c, /var/cvs/uClibc/libc/inet/rpc/svc_raw.c, /var/cvs/uClibc/libc/inet/rpc/svc_simple.c, /var/cvs/uClibc/libc/inet/rpc/svc_tcp.c: - Make sure the sccsid tags never get compiled in. + * /var/cvs/uClibc/ldso/util/bswap.h: + Patch from Stefan Allius to remove obsolete printfs + + * /var/cvs/uClibc/ldso/ldso/hash.c: + Disable this code for mips, which does things quite differently... -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c, /var/cvs/uClibc/libc/unistd/getcwd.c: - Eliminate all the pointless globals from getcwd(). Default - to using the getcwd syscall instead, when it is present. + * /var/cvs/uClibc/ldso/ldso/ld_syscall.h: + Fix a stupid typo messing up powerpc support -Erik - * /var/cvs/uClibc/docs/threads.txt: - update as far as i've double checked things thus far +2002-08-08 Erik Andersen <andersen@dillweed> + + * /var/cvs/uClibc/ldso/libdl/dlib.c: + For some perverse reason we were not registering destructors + for dlopen'd libraries. This fixes that. -Erik -2002-06-18 Manuel Novoa III <mjn3@dillweed> +2002-08-08 Manuel Novoa III <mjn3@dillweed> - * /var/cvs/uClibc/libc/misc/time/time.c: - Add in thread locking for tzset() and associated data. Also, fix a bug so - that localtime_r() calls tzset() to initialize/update timezone data. + * /var/cvs/uClibc/docs/uclibc.org/FAQ.html: + Add an entry regarding localtime(), TZ, and timezone support. -2002-06-18 Erik Andersen <andersen@dillweed> +2002-08-08 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/sysdeps/linux/common/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/common/kernel_version.c: - Kill kernel_version.c, which is completely meaningless crap - and didn't even work. + * /var/cvs/uClibc/libc/inet/rpc/ruserpass.c: Oops. missed a spot. -Erik - * /var/cvs/uClibc/libc/stdlib/malloc-930716/memalign.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/morecore.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/realloc.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/valloc.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/Makefile, /var/cvs/uClibc/libc/stdlib/malloc-930716/calloc.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/free.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/malloc.c, /var/cvs/uClibc/libc/stdlib/malloc-930716/malloc.h: - Rework, reduce the size, add proper locking + * /var/cvs/uClibc/ldso/ldso/powerpc/ld_syscalls.h: + Make powerpc compile once again -Erik -2002-06-18 Manuel Novoa III <mjn3@dillweed> - - * /var/cvs/uClibc/libc/stdlib/bsearch.c, /var/cvs/uClibc/libc/stdlib/qsort.c: - Remove obsolete files. + * /var/cvs/uClibc/docs/uclibc.org/FAQ.html: Update the FAQ - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h, /var/cvs/uClibc/libc/stdio/Makefile, /var/cvs/uClibc/libc/stdio/old_vfprintf.c, /var/cvs/uClibc/libc/stdio/printf.c, /var/cvs/uClibc/libc/stdio/stdio.c: - Fix perror() and printf("%m") to not call strerror(), as required by the - standards. Temporarily added a utility function to wrap Erik's strerror_r - so that "Unknown error xxx" strings can be generated for errno's which - cause strerror_r to fail. That utility function will eventually be merged - in with the strerror/strerror_r functions when I change over to optionallly - mmap'ing the system error strings to provide for lower mem comsumption on - non-MMU platforms, as well as locale-specific system error messages. + * /var/cvs/uClibc/Rules.mak: Bump version to 0.9.13 -2002-06-18 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/ldso/libdl/dlib.c: Move destructor attribute tag - * /var/cvs/uClibc/libc/stdlib/setenv.c: Silly name change + * /var/cvs/uClibc/libc/misc/internals/__uClibc_main.c: + Shuffle things around a bit. Looks a little cleaner. + -Erik - * /var/cvs/uClibc/libc/stdlib/bsearch.c: - Rework and kill pointless static variable + * /var/cvs/uClibc/test/ldso/Makefile, /var/cvs/uClibc/test/ldso/howdy.c: + Add a simple test for shared lib ctor/dtors -Erik - * /var/cvs/uClibc/libc/misc/syslog/syslog.c: - Fix thread locking so it works + * /var/cvs/uClibc/libpthread/linuxthreads/errno.c, /var/cvs/uClibc/libpthread/linuxthreads/pthread.c: + Patch from Stefan Allius and Edie C. Dost: + In linuxthreads/errno.h the functions __errno_location and + __h_errno_location wasn't safe against calling before the + library is initialized. + + * /var/cvs/uClibc/ldso/libdl/dlib.c: Missed a spot -Erik - * /var/cvs/uClibc/libc/misc/mntent/mntent.c: Fix locking. Kill + * /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/sh/crt0.S, /var/cvs/uClibc/libc/sysdeps/linux/sh/crti.S, /var/cvs/uClibc/libc/sysdeps/linux/sh/crtn.S: + I reworked syscalls.h to match how I'm doing other arches. Stefan Allius and + Edie C. Dost has some concerns about the perl script used to general crti.o and + crtn.o and added their own versions. These versions will win since they are + built last, - * /var/cvs/uClibc/libc/misc/internals/tempname.c: Some commentary + * /var/cvs/uClibc/libpthread/pthread.c: + Fix license. I meant to say LGPL... -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/i960/sys/ucontext.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/sys/procfs.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/endian.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/fcntl.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/mman.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/setjmp.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/wordsize.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/clone.S, /var/cvs/uClibc/libc/sysdeps/linux/i960/crt0.S, /var/cvs/uClibc/libc/sysdeps/linux/i960/setjmp.S, /var/cvs/uClibc/libc/sysdeps/linux/i960/specs.uclinux.gcc-2.95.i960-intel-coff, /var/cvs/uClibc/libc/sysdeps/linux/i960/vfork.S, /var/cvs/uClibc/extra/Configs/Config.i960, /var/cvs/uClibc/libc/sysdeps/linux/i960/AUTHORS, /var/cvs/uClibc/libc/sysdeps/linux/i960/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/i960/README, /var/cvs/uClibc/libc/sysdeps/linux/i960/_mmap.S: - Patch from Martin Proulx <mproulx@okiok.com> to support - the i960 architecture. + * /var/cvs/uClibc/ldso/ldso/sparc/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/sparc/elfinterp.c, /var/cvs/uClibc/ldso/ldso/sh/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/sh/elfinterp.c, /var/cvs/uClibc/ldso/ldso/sh/ld_syscalls.h, /var/cvs/uClibc/ldso/ldso/sh/ld_sysdep.h, /var/cvs/uClibc/ldso/ldso/sh/resolve.S, /var/cvs/uClibc/ldso/ldso/powerpc/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/powerpc/elfinterp.c, /var/cvs/uClibc/ldso/ldso/mips/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/mips/elfinterp.c, /var/cvs/uClibc/ldso/ldso/m68k/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/m68k/elfinterp.c, /var/cvs/uClibc/ldso/ldso/i386/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/i386/elfinterp.c, /var/cvs/uClibc/ldso/ldso/arm/boot1_arch.h, /var/cvs/uClibc/ldso/ldso/arm/elfinterp.c, /var/cvs/uClibc/ldso/ldso/ldso.c, /var/cvs/uClibc/ldso/ldso/readelflib1.c, /var/cvs/uClibc/ldso/ldso/Makefile, /var/cvs/uClibc/ldso/ldso/hash.c, /var/cvs/uClibc/ldso/ldso/ld_hash.h, /var/cvs/uClibc/ldso/ldso/ld_string.h, /var/cvs/uClibc/ldso/ldso/ld_syscall.h: + Patch from Stefan Allius and Edie C. Dost to add SuperH + shared library support. This also adds some cleaner error + handling, which I (Erik) then ported over to x86 and arm. + In addition Stefan added the following fixes: + + - in hash.c was the lvalue handling of global library functions wrong. + To fix this I had to change the prototype of _dl_find_hash. (==> TIS and + ELF spec. Vers. 1.2) + + - in ldso.c was the order of the .init sections calls wrong. Before we call + the initialization code of a library we have to check that all dependend + libraries are already initialized. This can easily made by calling it in the + revers loading order. For this I added a previous pointer chain. -2002-06-17 Erik Andersen <andersen@dillweed> + - in ldso.c the ELF magics wasn't checked fo PPC, MIPS and SH architecture - * /var/cvs/uClibc/include/rpc/auth.h, /var/cvs/uClibc/include/rpc/rpc.h, /var/cvs/uClibc/include/rpc/types.h, /var/cvs/uClibc/include/rpc/xdr.h, /var/cvs/uClibc/include/protocols/routed.h, /var/cvs/uClibc/include/protocols/rwhod.h, /var/cvs/uClibc/include/protocols/talkd.h, /var/cvs/uClibc/include/protocols/timed.h: - Update rpc headers. Add missing some headers + * /var/cvs/uClibc/ldso/util/bswap.h, /var/cvs/uClibc/ldso/util/ldd.c, /var/cvs/uClibc/ldso/util/readelf.c, /var/cvs/uClibc/ldso/util/Makefile: + Patch from Stefan Allius and Edie C. Dost to let ldd and + readelf compile under solaris. + + * /var/cvs/uClibc/include/netpacket/packet.h: + Make pump happy. Add in this header. -Erik - * /var/cvs/uClibc/libc/inet/Makefile: kill cruft + * /var/cvs/uClibc/libpthread/linuxthreads_db/td_symbol_list.c, /var/cvs/uClibc/libpthread/linuxthreads_db/Makefile: + I missed a file - * /var/cvs/uClibc/libc/inet/addr.c, /var/cvs/uClibc/libc/inet/getnetent.c, /var/cvs/uClibc/libc/inet/getproto.c, /var/cvs/uClibc/libc/inet/getservice.c, /var/cvs/uClibc/libc/inet/resolv.c: - Make things more re-entrany, kill some cruft. + * /var/cvs/uClibc/libc/inet/rpc/ruserpass.c: + Fix a silly bug with using fstat64 instead of just fstat. No + reason for 64bit stuff just to check perms. -Erik - * /var/cvs/uClibc/libc/inet/rpc/svc_unix.c, /var/cvs/uClibc/libc/inet/rpc/xdr.c, /var/cvs/uClibc/libc/inet/rpc/xdr_array.c, /var/cvs/uClibc/libc/inet/rpc/xdr_float.c, /var/cvs/uClibc/libc/inet/rpc/xdr_intXX_t.c, /var/cvs/uClibc/libc/inet/rpc/xdr_mem.c, /var/cvs/uClibc/libc/inet/rpc/xdr_rec.c, /var/cvs/uClibc/libc/inet/rpc/xdr_reference.c, /var/cvs/uClibc/libc/inet/rpc/xdr_stdio.c, /var/cvs/uClibc/libc/inet/rpc/clnt_unix.c, /var/cvs/uClibc/libc/inet/rpc/create_xid.c, /var/cvs/uClibc/libc/inet/rpc/errqueue.h, /var/cvs/uClibc/libc/inet/rpc/get_myaddress.c, /var/cvs/uClibc/libc/inet/rpc/getrpcport.c, /var/cvs/uClibc/libc/inet/rpc/pmap_clnt.c, /var/cvs/uClibc/libc/inet/rpc/pmap_getmaps.c, /var/cvs/uClibc/libc/inet/rpc/pmap_getport.c, /var/cvs/uClibc/libc/inet/rpc/pmap_prot.c, /var/cvs/uClibc/libc/inet/rpc/pmap_prot2.c, /var/cvs/uClibc/libc/inet/rpc/pmap_rmt.c, /var/cvs/uClibc/libc/inet/rpc/rpc_callmsg.c, /var/cvs/uClibc/libc/inet/rpc/rpc_commondata.c, /var/cvs/uClibc/libc/inet/rpc/rpc_dtablesize.c, /var/cvs/uClibc/libc/inet/rpc/rpc_prot.c, /var/cvs/uClibc/libc/inet/rpc/rpc_thread.c, /var/cvs/uClibc/libc/inet/rpc/rtime.c, /var/cvs/uClibc/libc/inet/rpc/svc.c, /var/cvs/uClibc/libc/inet/rpc/svc_auth.c, /var/cvs/uClibc/libc/inet/rpc/svc_auth_unix.c, /var/cvs/uClibc/libc/inet/rpc/svc_raw.c, /var/cvs/uClibc/libc/inet/rpc/svc_run.c, /var/cvs/uClibc/libc/inet/rpc/svc_simple.c, /var/cvs/uClibc/libc/inet/rpc/svc_tcp.c, /var/cvs/uClibc/libc/inet/rpc/svc_udp.c, /var/cvs/uClibc/libc/inet/rpc/Makefile, /var/cvs/uClibc/libc/inet/rpc/auth_none.c, /var/cvs/uClibc/libc/inet/rpc/auth_unix.c, /var/cvs/uClibc/libc/inet/rpc/authunix_prot.c, /var/cvs/uClibc/libc/inet/rpc/bindresvport.c, /var/cvs/uClibc/libc/inet/rpc/clnt_generic.c, /var/cvs/uClibc/libc/inet/rpc/clnt_perror.c, /var/cvs/uClibc/libc/inet/rpc/clnt_raw.c, /var/cvs/uClibc/libc/inet/rpc/clnt_simple.c, /var/cvs/uClibc/libc/inet/rpc/clnt_tcp.c, /var/cvs/uClibc/libc/inet/rpc/clnt_udp.c: - Re-backport all the rpc stuff from glibc 2.2.5. This allows us to make this - junk (and I do mean that ;-) thread safe without undue pain. Adds 12k worth to - the code size I'm afraid, but since I never use NFS and therefore never include - this stuff, I guess thats acceptable. I still need to enable the multi-threaded - bits... + * /var/cvs/uClibc/Makefile: + Remove unified syscall support (it should just be a per-arch + decision, with syscalls.h adjusted to match). Add symlinks + to make tools like mklibs.py be happy. -Erik - * /var/cvs/uClibc/libc/string/strerror.c, /var/cvs/uClibc/include/string.h: - Implement strerror_r. This is per SuSv3, not glibc which does - something different. + * /var/cvs/uClibc/libc/sysdeps/linux/i960/Makefile: + Disable unused unifed stuff + -Erik + + * /var/cvs/uClibc/extra/Configs/Config.mipsel, /var/cvs/uClibc/extra/Configs/Config.powerpc, /var/cvs/uClibc/extra/Configs/Config.sh, /var/cvs/uClibc/extra/Configs/Config.sparc, /var/cvs/uClibc/extra/Configs/Config.v850e, /var/cvs/uClibc/extra/Configs/Config.alpha, /var/cvs/uClibc/extra/Configs/Config.arm, /var/cvs/uClibc/extra/Configs/Config.cross.arm.uclinux, /var/cvs/uClibc/extra/Configs/Config.h8300, /var/cvs/uClibc/extra/Configs/Config.i386, /var/cvs/uClibc/extra/Configs/Config.i960, /var/cvs/uClibc/extra/Configs/Config.m68k, /var/cvs/uClibc/extra/Configs/Config.m68k.coff, /var/cvs/uClibc/extra/Configs/Config.mips: + Update default config files + + * /var/cvs/uClibc/docs/threads.txt: Update status of reentrance support + + * /var/cvs/uClibc/ldso/ldso/sparc/elfinterp.c, /var/cvs/uClibc/ldso/ldso/powerpc/elfinterp.c, /var/cvs/uClibc/ldso/ldso/m68k/elfinterp.c, /var/cvs/uClibc/ldso/ldso/arm/elfinterp.c, /var/cvs/uClibc/ldso/ldso/i386/elfinterp.c: + Make some strings const -Erik - * /var/cvs/uClibc/libc/misc/ttyent/getttyent.c: - Shuffle the logic around a bit + * /var/cvs/uClibc/libc/pwd_grp/initgroups.c, /var/cvs/uClibc/libc/pwd_grp/lckpwdf.c, /var/cvs/uClibc/libc/pwd_grp/pwent.c, /var/cvs/uClibc/libc/pwd_grp/sgetspent.c, /var/cvs/uClibc/libc/pwd_grp/spent.c, /var/cvs/uClibc/libc/pwd_grp/__getgrent.c, /var/cvs/uClibc/libc/pwd_grp/__getspent_r.c, /var/cvs/uClibc/libc/pwd_grp/fgetpwent.c, /var/cvs/uClibc/libc/pwd_grp/fgetspent.c, /var/cvs/uClibc/libc/pwd_grp/getpwnam.c, /var/cvs/uClibc/libc/pwd_grp/getpwuid.c, /var/cvs/uClibc/libc/pwd_grp/getspnam.c, /var/cvs/uClibc/libc/pwd_grp/getspuid.c, /var/cvs/uClibc/libc/pwd_grp/grent.c: + Fix locking -Erik - * /var/cvs/uClibc/libc/pwd_grp/__getgrent.c, /var/cvs/uClibc/libc/pwd_grp/getgrgid.c: - Shuffle the logic around a bit + * /var/cvs/uClibc/libc/stdlib/abort.c: Fix locking - * /var/cvs/uClibc/libc/misc/utmp/Makefile, /var/cvs/uClibc/libc/misc/utmp/wtent.c, /var/cvs/uClibc/libc/misc/utmp/utent.c, /var/cvs/uClibc/libutil/logwtmp.c: - Some cleanups so utmp/wtmp behaves. Fix potential use of - uninitialized memory. Prepare to reentrantify the utmp - stuff. + * /var/cvs/uClibc/libc/misc/lsearch/lsearch.c: + Cleanup warnings and fix prototypes -Erik - * /var/cvs/uClibc/libc/misc/internals/__uClibc_main.c: - Ah kant spel mi name + * /var/cvs/uClibc/libc/pwd_grp/initgroups.c: Add missing include file + + * /var/cvs/uClibc/libc/stdlib/drand48-iter.c, /var/cvs/uClibc/libc/stdlib/erand48_r.c, /var/cvs/uClibc/libc/stdlib/jrand48_r.c, /var/cvs/uClibc/libc/stdlib/nrand48_r.c, /var/cvs/uClibc/libc/stdlib/system.c: + Cleanup some silly warnings - * /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c: - Add support for sigtimedwait and sigwaitinfo + * /var/cvs/uClibc/libc/unistd/swab.c: + Avoid bad things happening on macro expansion... -Erik -2002-06-17 Manuel Novoa III <mjn3@dillweed> + * /var/cvs/uClibc/ldso/libdl/dlib.c: + Cleanup to avoid some undefined behavior + -Erik - * /var/cvs/uClibc/libc/stdlib/setenv.c, /var/cvs/uClibc/libc/misc/time/tm_conv.c, /var/cvs/uClibc/libc/misc/time/utimes.c, /var/cvs/uClibc/libc/misc/time/ctime.c, /var/cvs/uClibc/libc/misc/time/ctime_r.c, /var/cvs/uClibc/libc/misc/time/difftime.c, /var/cvs/uClibc/libc/misc/time/gmtime.c, /var/cvs/uClibc/libc/misc/time/gmtime_r.c, /var/cvs/uClibc/libc/misc/time/localtime.c, /var/cvs/uClibc/libc/misc/time/localtime_r.c, /var/cvs/uClibc/libc/misc/time/mktime.c, /var/cvs/uClibc/libc/misc/time/strftime.c, /var/cvs/uClibc/libc/misc/time/strptime.c, /var/cvs/uClibc/libc/misc/time/time.c, /var/cvs/uClibc/libc/misc/time/Makefile, /var/cvs/uClibc/libc/misc/time/README, /var/cvs/uClibc/libc/misc/time/__time_locale.c, /var/cvs/uClibc/libc/misc/time/__time_static.c, /var/cvs/uClibc/libc/misc/time/asc_conv.c, /var/cvs/uClibc/libc/misc/time/asctime.c, /var/cvs/uClibc/libc/misc/time/asctime_r.c, /var/cvs/uClibc/libc/misc/time/clock.c, /var/cvs/uClibc/include/time.h: - Commit the new time stuff, even though I haven't made it threadsafe yet. - At least people can play with it. Also, fix a buglet in setenv.c. +2002-08-07 sjhill <sjhill@dillweed> - * /var/cvs/uClibc/include/wchar.h: - I guess nobody's tried this stuff. I apparently checked in the wrong version - several weeks ago. + * /var/cvs/uClibc/extra/scripts/get-needed-libgcc-objects.sh: + Ignore symbol '_gp_disp' if it's missing from 'libgcc.a'. That's okay for + MIPS platforms. -2002-06-15 Erik Andersen <andersen@dillweed> +2002-08-07 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/misc/time/time.c, /var/cvs/uClibc/libc/misc/time/Makefile: - time() is implemented in syscalls.c + * /var/cvs/uClibc/libc/inet/rpc/Makefile: + Add getrpcent.c to default rpc build + + * /var/cvs/uClibc/libcrypt/crypt.c, /var/cvs/uClibc/libcrypt/des.c, /var/cvs/uClibc/libcrypt/md5.c, /var/cvs/uClibc/include/crypt.h: + Cleanup crypt and remove the crypt_r stuff, since SuSv3 + (IEEE Std 1003.1-2001) states that crypt need not be reentrant. -Erik - * /var/cvs/uClibc/libc/termios/ttyname.c: Implement ttyname_r + * /var/cvs/uClibc/libc/misc/utmp/utent.c: Remove some noise + + * /var/cvs/uClibc/libc/stdlib/getenv.c: + Changed my mind. Keep this separate. -Erik - * /var/cvs/uClibc/libc/unistd/getlogin.c: Prevent buffer overflow + * /var/cvs/uClibc/libc/stdlib/getenv.c: Rewrite getenv + + * /var/cvs/uClibc/libc/unistd/getopt.c, /var/cvs/uClibc/libc/unistd/Makefile: + rework getopt. no read need to split this one up since + the parts are so tightly coupled. + + * /var/cvs/uClibc/test/unistd/.cvsignore: missed a file - * /var/cvs/uClibc/extra/Configs/uClibc_config_fix.pl: - Fix a silly bug... + * /var/cvs/uClibc/test/unistd/.cvsignore, /var/cvs/uClibc/test/unistd/Makefile, /var/cvs/uClibc/test/unistd/getopt.c, /var/cvs/uClibc/test/unistd/getopt_long.c: + getopt tests -2002-06-13 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/docs/uclibc.org/uClibc-apps.html: + Updates to the working apps list from Kagan Kongar. Thanks! - * /var/cvs/uClibc/libc/signal/allocrtsig.c, /var/cvs/uClibc/libpthread/linuxthreads/pthread.c: - Fix pthreads to use the rt signals if present + * /var/cvs/uClibc/libc/inet/rpc/xdr_array.c: + Apply integer overflow security fix for "CERT Advisory CA-2002-25 Integer + Overflow In XDR Library" http://www.cert.org/advisories/CA-2002-25.html + Patch from Solar Designer <solar@openwall.com>. + + * /var/cvs/uClibc/include/libintl.h: + Message catalog support for internationalization is not currently + provided by uClibc, and here I have added macros to disable it. -Erik - * /var/cvs/uClibc/libcrypt/des.c: - Begin efforts at reentrance by seperating out the stuff that isn't - reentrant and labeling it, and making everything else const. + * /var/cvs/uClibc/libc/stdlib/malloc-930716/Makefile, /var/cvs/uClibc/libc/stdlib/malloc-930716/calloc.c, /var/cvs/uClibc/libc/stdlib/malloc/Makefile, /var/cvs/uClibc/libc/stdlib/Makefile, /var/cvs/uClibc/libc/stdlib/calloc.c: + Per suggestion from Miles Bader, move calloc.c to libc/stdlib. + Also, Manuel notices that I forgot to check for when nmemb=0, + which would result in a segfault, so fix that case as well. -Erik -2002-06-12 Erik Andersen <andersen@dillweed> +2002-08-06 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/pwd_grp/config.h: - Don't use fixed buffers if we have an mmu such that malloc - and realloc are cheap. + * /var/cvs/uClibc/extra/scripts/get-needed-libgcc-objects.sh: + When symbols are missing, its supposed to be an error... -Erik - * /var/cvs/uClibc/libc/pwd_grp/putspent.c, /var/cvs/uClibc/libc/pwd_grp/pwent.c, /var/cvs/uClibc/libc/pwd_grp/sgetspent.c, /var/cvs/uClibc/libc/pwd_grp/spent.c, /var/cvs/uClibc/libc/pwd_grp/__getgrent.c, /var/cvs/uClibc/libc/pwd_grp/__getpwent_r.c, /var/cvs/uClibc/libc/pwd_grp/__getspent_r.c, /var/cvs/uClibc/libc/pwd_grp/__sgetspent_r.c, /var/cvs/uClibc/libc/pwd_grp/config.h, /var/cvs/uClibc/libc/pwd_grp/fgetgrent.c, /var/cvs/uClibc/libc/pwd_grp/fgetpwent.c, /var/cvs/uClibc/libc/pwd_grp/fgetspent.c, /var/cvs/uClibc/libc/pwd_grp/getgrgid.c, /var/cvs/uClibc/libc/pwd_grp/getgrnam.c, /var/cvs/uClibc/libc/pwd_grp/getpw.c, /var/cvs/uClibc/libc/pwd_grp/getpwnam.c, /var/cvs/uClibc/libc/pwd_grp/getpwuid.c, /var/cvs/uClibc/libc/pwd_grp/getspnam.c, /var/cvs/uClibc/libc/pwd_grp/getspuid.c, /var/cvs/uClibc/libc/pwd_grp/grent.c, /var/cvs/uClibc/libc/pwd_grp/initgroups.c, /var/cvs/uClibc/libc/pwd_grp/lckpwdf.c, /var/cvs/uClibc/libc/pwd_grp/putpwent.c: - Silence warnings, clean things up. + * /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_getgregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_getxregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_getxregsize.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_set_event.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_setfpregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_setgregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_setprio.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_setsigpending.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_setxregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_sigsetmask.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_tsd.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_validate.c, /var/cvs/uClibc/libpthread/linuxthreads_db/thread_dbP.h, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_new.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_reset_stats.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_set_event.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_setconcurrency.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_thr_iter.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_tsd_iter.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_clear_event.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_dbresume.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_dbsuspend.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_event_enable.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_event_getmsg.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_get_info.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_thr_getfpregs.c, /var/cvs/uClibc/libpthread/linuxthreads_db/Makefile, /var/cvs/uClibc/libpthread/linuxthreads_db/td_init.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_log.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_clear_event.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_delete.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_enable_stats.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_event_addr.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_event_getmsg.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_get_nthreads.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_get_ph.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_get_stats.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_map_id2thr.c, /var/cvs/uClibc/libpthread/linuxthreads_db/td_ta_map_lwp2thr.c, /var/cvs/uClibc/libpthread/linuxthreads/sysdeps/pthread/bits/libc-tsd.h, /var/cvs/uClibc/libpthread/linuxthreads/Makefile, /var/cvs/uClibc/libpthread/linuxthreads/cancel.c, /var/cvs/uClibc/libpthread/linuxthreads/no-tsd.c, /var/cvs/uClibc/libpthread/linuxthreads/specific.c, /var/cvs/uClibc/libpthread/Makefile: + Several pthreads updates. Enable linuxthreads_db. Several fixes + related to thread local storage. -Erik - * /var/cvs/uClibc/libc/string/Makefile, /var/cvs/uClibc/libc/string/basename.c, /var/cvs/uClibc/libc/string/bcmp.c, /var/cvs/uClibc/libc/string/bcopy.c, /var/cvs/uClibc/libc/string/bzero.c, /var/cvs/uClibc/libc/string/dirname.c, /var/cvs/uClibc/libc/string/strcasecmp.c, /var/cvs/uClibc/libc/string/strcspn.c, /var/cvs/uClibc/libc/string/string.c, /var/cvs/uClibc/libc/string/strncasecmp.c, /var/cvs/uClibc/libc/string/strpbrk.c, /var/cvs/uClibc/libc/string/strsep.c, /var/cvs/uClibc/libc/string/strspn.c, /var/cvs/uClibc/libc/string/strstr.c, /var/cvs/uClibc/libc/string/strtok.c, /var/cvs/uClibc/libc/string/strtok_r.c, /var/cvs/uClibc/libc/string/wstring.c: - Cleanup the mess, remove now obsolete files + * /var/cvs/uClibc/libc/inet/resolv.c: + Fixup the last missing pieces of thread locking -Erik - * /var/cvs/uClibc/libc/string/Makefile, /var/cvs/uClibc/libc/string/strxfrm.c: - Write a new strxfrm that doesn't make function calls. Uses the same logic as - before but unrolls the func calls and thereby eliminates some steps and some - bytes. Now adds just 40 bytes to .text. + * /var/cvs/uClibc/libc/inet/rpc/Makefile, /var/cvs/uClibc/libc/inet/rpc/auth_none.c, /var/cvs/uClibc/libc/inet/rpc/clnt_perror.c, /var/cvs/uClibc/libc/inet/rpc/clnt_raw.c, /var/cvs/uClibc/libc/inet/rpc/clnt_simple.c, /var/cvs/uClibc/libc/inet/rpc/create_xid.c, /var/cvs/uClibc/libc/inet/rpc/rexec.c, /var/cvs/uClibc/libc/inet/rpc/rpc_private.h, /var/cvs/uClibc/libc/inet/rpc/rpc_thread.c, /var/cvs/uClibc/libc/inet/rpc/ruserpass.c, /var/cvs/uClibc/libc/inet/rpc/sa_len.c, /var/cvs/uClibc/libc/inet/rpc/svc.c, /var/cvs/uClibc/libc/inet/rpc/svc_raw.c, /var/cvs/uClibc/libc/inet/rpc/svc_simple.c: + Rework RPC code once again. By default, only enable the + stuff needed for NFS mounts, rsh, and similar. -Erik - * /var/cvs/uClibc/libc/inet/socketcalls.c: - Yipe. As Joseph Chiu noticed, sockvec is supposed to be an int* - not an int. +2002-08-06 Manuel Novoa III <mjn3@dillweed> -2002-06-11 Manuel Novoa III <mjn3@dillweed> + * /var/cvs/uClibc/include/stdlib.h: Enable getpt prototype. - * /var/cvs/uClibc/libc/stdio/printf.c, /var/cvs/uClibc/libc/stdio/stdio.c: - Revert Erik's patch to vasprintf and fix the real issue. - The writer for the stream returned by open_memstream was supposed to - keep the buffer nul-terminated. I apparently left out a statement. + * /var/cvs/uClibc/libc/stdio/stdio.c: + Changed fflush() behavior to no-op for r/w streams in read-mode. + This falls under undefined behavior wrt ANSI/ISO C99, but + SUSv3 seems to treat it as a no-op and it occurs in some apps. + Fixed a problem with _stdio_fwrite() not checking for underlying + write() failures. + Fixed both _stdio_fwrite() and _stdio_fread() to make sure that + the putc and getc macros were disabled if the stream was in + and error state. -2002-06-11 Erik Andersen <andersen@dillweed> + The above changes should take care of a problem initially reported + by "Steven J. Hill" <sjhill@realitydiluted.com>. - * /var/cvs/uClibc/libc/stdio/printf.c: - This patch from Rik Faith <faith@alephnull.com> fixes a potentially - non-NULL terminated string problem that could result from the use - of open_memstream(). Manuel may have a better solution, but this - one works for me, since with this plus the popen fix I can now run - things like gdb properly. Thanks Rik! +2002-08-06 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/stdio/popen.c: - A patch from Ted Phelps to fix popen(). Ted writes: - There is a minor bug in the implementation of popen(). In the case - where the file descriptor returned from its call to pipe() is the same - as the file descriptor that it is meant to be (where the dup2() branch - is not taken), the end of the pipe is still closed by close(reading) - even though it shouldn't be. - Thanks Ted! - -2002-06-10 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/libc/stdlib/malloc-930716/Makefile, /var/cvs/uClibc/libc/stdlib/malloc-930716/calloc.c, /var/cvs/uClibc/libc/stdlib/malloc/Makefile, /var/cvs/uClibc/libc/stdlib/malloc/calloc.c: + Unify calloc (its the same thing regardless of the underlying + malloc implementation). Fix problem reported to bugtraq about + problems with integer overflow that can occur during the + computation of the memory region size by calloc (and similar + functions) which could result in a subsequent buffer overflow. + -Erik - * /var/cvs/uClibc/libc/stdlib/setenv.c, /var/cvs/uClibc/libpthread/linuxthreads/sysdeps/pthread/bits/libc-lock.h, /var/cvs/uClibc/libpthread/linuxthreads/sysdeps/pthread/bits/stdio-lock.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/libc-lock.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/stdio-lock.h: - Kill the libc-lock headers, which we do not use and which are - not correct for uClibc. Fix setenv locking to behave itself. + * /var/cvs/uClibc/libc/sysdeps/linux/i386/crt0.S: + Just in case, crash if somehow `exit' returns anyways -Erik -2002-06-09 Erik Andersen <andersen@dillweed> +2002-08-05 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/unistd/Makefile: - Oops. Forgot to check this in. Thanks Martin Volf for noticing - -Erik + * /var/cvs/uClibc/Rules.mak: remove BUILDTIME since it is not used -2002-06-08 Manuel Novoa III <mjn3@dillweed> +2002-08-03 Manuel Novoa III <mjn3@dillweed> - * /var/cvs/uClibc/libc/misc/locale/locale.c: - Added a version of nl_langinfo for the stub C/POSIX locale support. + * /var/cvs/uClibc/libc/misc/time/Makefile, /var/cvs/uClibc/libc/stdio/stdio.c: + A couple of little cleanups I forgot to check in. -2002-06-05 sjhill <sjhill@dillweed> +2002-08-03 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/ldso/libdl/dlib.c, /var/cvs/uClibc/ldso/ldso/linuxelf.h, /var/cvs/uClibc/ldso/ldso/readelflib1.c: - Fix up of '_dlopen' call and removal of unneeded argument in call '_dl_load_elf_shared_library'. + * /var/cvs/uClibc/libc/misc/wchar/wchar.c: + When DODEBUG and HAS_WCHAR were enabled and HAS_LOCALE was disabled, + wchar.c wouldn't compile: + wchar.c: In function `__mbsnrtowcs': + wchar.c:631: `__ctype_encoding_7_bit' undeclared (first use in this function) + This fixes it by keeping the locale specific asserts hidden when not relevant. + -Erik -2002-06-04 sjhill <sjhill@dillweed> +2002-08-01 miles <miles@dillweed> - * /var/cvs/uClibc/ldso/util/Makefile: - If we are cross-compiling, don't even try to build the target utilities. + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + Use MALLOC_REALLOC_MIN_FREE_SIZE. - * /var/cvs/uClibc/libc/sysdeps/linux/mips/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/mips/bsd-_setjmp.S, /var/cvs/uClibc/libc/sysdeps/linux/mips/bsd-setjmp.S, /var/cvs/uClibc/libc/sysdeps/linux/mips/crt0.S, /var/cvs/uClibc/libc/sysdeps/linux/mips/setjmp.S, /var/cvs/uClibc/libc/sysdeps/linux/mips/sys/regdef.h: - Changes so that 'regdef.h' gets included in the development environment. + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h (MALLOC_REALLOC_MIN_FREE_SIZE): + New macro. + Enable debugging if MALLOC_DEBUGGING is defined. - * /var/cvs/uClibc/libc/sysdeps/linux/mips/regdef.h: - Moved to 'sys' directory. + * /var/cvs/uClibc/libc/stdlib/malloc/heap.h (HEAP_MIN_SIZE): New macro. + (HEAP_MIN_FREE_AREA_SIZE): Increase size. + Enable debugging if HEAP_DEBUGGING is defined. -2002-06-01 Erik Andersen <andersen@dillweed> +2002-08-01 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/stdlib/setenv.c: Doh! + * /var/cvs/uClibc/libc/pwd_grp/initgroups.c: + Joseph Chiu <josephc@idealab.com> found an off-by-one bug. oops! -2002-05-31 Erik Andersen <andersen@dillweed> +2002-07-31 miles <miles@dillweed> - * /var/cvs/uClibc/libc/unistd/usershell.c: - Patch from Robert Griebl <griebl@gmx.de> to support - getusershell() and friends. + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + In the allocate-and-copy case, don't include the malloc header in our + size calculations. -2002-05-30 Erik Andersen <andersen@dillweed> +2002-07-31 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/libc/stdlib/Makefile, /var/cvs/uClibc/libc/stdlib/getenv.c, /var/cvs/uClibc/libc/stdlib/putenv.c, /var/cvs/uClibc/libc/stdlib/setenv.c: - Rework setenv, getenv and friends per the latest glibc code, but cleaned - up for readability. Merge in putenv. Add clearenv as a side effect. - -Erik + * /var/cvs/uClibc/Makefile: Sigh. A bit more cleanup. - * /var/cvs/uClibc/libc/signal/allocrtsig.c: -#ifdef _POSIX_THREADS - +#ifdef __UCLIBC_HAS_THREADS__ +2002-07-31 miles <miles@dillweed> - * /var/cvs/uClibc/libc/misc/dirent/closedir.c, /var/cvs/uClibc/libc/misc/dirent/dirstream.h, /var/cvs/uClibc/libc/misc/dirent/opendir.c, /var/cvs/uClibc/libc/misc/dirent/readdir.c, /var/cvs/uClibc/libc/misc/dirent/readdir64.c, /var/cvs/uClibc/libc/misc/dirent/readdir_r.c, /var/cvs/uClibc/libc/misc/dirent/rewinddir.c, /var/cvs/uClibc/libc/misc/dirent/seekdir.c: - Fixup totally broken locking code... No storage for the mutex, - wrong ifdef macro.. - -Erik + * /var/cvs/uClibc/libc/stdlib/malloc/free.c, /var/cvs/uClibc/libc/stdlib/malloc/malloc.c, /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + Update debugging printfs. - * /var/cvs/uClibc/Makefile: Fix dependancy. again. +2002-07-31 Erik Andersen <andersen@dillweed> - * /var/cvs/uClibc/Makefile: Fix dependancy for util target + * /var/cvs/uClibc/libc/stdio/popen.c, /var/cvs/uClibc/libc/stdlib/system.c, /var/cvs/uClibc/libc/stdlib/unix_grantpt.c: + Per discussion on the mailing list, simply vfork -> fork mapping to only apply + iff we do not have vfork available, which is simpler and more reasonable. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c: - Doh! A silly typo broke select... - -Erik + * /var/cvs/uClibc/include/elf.h: More i960 support - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/crt0.S: - And with this, the alpha port is not basically working. - -Erik + * /var/cvs/uClibc/libc/sysdeps/linux/common/create_module.c: + Patch from Martin Proulx <mproulx@okiok.com> to fix i960 + create_module() support. - * /var/cvs/uClibc/libc/inet/rpc/Makefile: - don't include the linux dir. Pointless and broken. - -Erik + * /var/cvs/uClibc/extra/gcc-uClibc/gcc-uClibc.c: + Patch from Alexander Pevzner <pzz@pzz.msk.ru> to fixup things when invoked as + the C++ compiler to to automagically add include/g++ into the include search + path, and automagically add -lstdc++ and -lm into the set of automatically + linked libraries. - * /var/cvs/uClibc/extra/gcc-uClibc/Makefile: - Put GCCINCDIR here, which is the only place it is needed. - -Erik + * /var/cvs/uClibc/Makefile: You fool foolish. Goodbye level 2. - * /var/cvs/uClibc/Rules.mak: - Cool. An even better way to get the gcc include dir which eliminates - several external program calls, thanks to a suggestion from rmk. + * /var/cvs/uClibc/Makefile: Always build utils by default -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/statfix.h, /var/cvs/uClibc/libc/sysdeps/linux/common/statfix64.h: - Make these properly cope with 64bit systems - -Erik +2002-07-31 miles <miles@dillweed> - * /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c: - Fixup some silly bugs I added earlier - -Erik + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + Account for MALLOC_HEADER_SIZE when calculating new size. - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/alpha/divl.S, /var/cvs/uClibc/libc/sysdeps/linux/alpha/divq.S, /var/cvs/uClibc/libc/sysdeps/linux/alpha/divrem.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/reml.S, /var/cvs/uClibc/libc/sysdeps/linux/alpha/remq.S: - Needed for the alpha port - -Erik + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.c: Use MALLOC_HEADER_SIZE. - * /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c: - Make syscalls.c way more generic. Now works on alpha... - -Erik + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h (MALLOC_HEADER_SIZE): + New macro. + (MALLOC_BASE, MALLOC_ADDR): Use it. - * /var/cvs/uClibc/libc/misc/sysvipc/msgq.c, /var/cvs/uClibc/libc/misc/sysvipc/sem.c, /var/cvs/uClibc/libc/misc/sysvipc/shm.c: - Cope with systems that don't glob all these together, but use - separate syscalls. - -Erik +2002-07-30 miles <miles@dillweed> -2002-05-29 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + Make sure NEW_SIZE is a multiple of HEAP_GRANULARITY. + Calculate amount freed when shrinking correctly. - * /var/cvs/uClibc/ldso/util/Makefile: - Silly me. ldd.target is for the target system, so don't - use-build-dir when compiling... - -Erik + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: + Update the size of grown/shrunk allocations. + MALLOC_SET_SIZE now takes the user-address rather than the base-address. - * /var/cvs/uClibc/Makefile: Now that was silly + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.c: + MALLOC_SET_SIZE now takes the user-address rather than the base-address. - * /var/cvs/uClibc/docs/uclibc.org/index.html, /var/cvs/uClibc/docs/uclibc.org/old-news.html: - Update content a bit + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h: + Define MALLOC_SET_SIZE to take the user-address rather than the base-address. -2002-05-28 Erik Andersen <andersen@dillweed> + * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: Implement shrinking. + Fix bug when growing an allocation. + Use new malloc header macros. - * /var/cvs/uClibc/include/features.h, /var/cvs/uClibc/extra/Configs/Config.h8300: - Patch from Yoshinori Sato <qzb04471@nifty.ne.jp> to use - C_SYMBOL_PREFIX for confused compilers, such as for v850 - and h8300, per suggestion from Miles Bader. + * /var/cvs/uClibc/libc/stdlib/malloc/free.c, /var/cvs/uClibc/libc/stdlib/malloc/malloc.c: + Use new malloc header macros. - * /var/cvs/uClibc/include/features.h, /var/cvs/uClibc/Makefile, /var/cvs/uClibc/Rules.mak, /var/cvs/uClibc/libutil/Makefile, /var/cvs/uClibc/libresolv/Makefile, /var/cvs/uClibc/libpthread/linuxthreads_db/Makefile, /var/cvs/uClibc/libpthread/Makefile, /var/cvs/uClibc/libm/Makefile, /var/cvs/uClibc/libcrypt/Makefile, /var/cvs/uClibc/ldso/libdl/Makefile, /var/cvs/uClibc/ldso/ldso/Makefile: - Fixup and unifiy version numbering. Automate versioning updates. - Propagate fixes across makefiles. + * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h: + Add macros to abstract the malloc header format a bit. + +2002-07-27 Erik Andersen < |