From 9dfd7d434e55e09da8a7b18241af0d6b10bb4136 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sat, 9 Nov 2002 04:25:54 +0000 Subject: Final update for 0.9.16 --- Changelog | 23 + Changelog.full | 1161 ++++++++++++++++++++++++++++++----------- Rules.mak | 2 +- docs/uclibc.org/index.html | 154 +++--- docs/uclibc.org/old-news.html | 89 ++++ 5 files changed, 1034 insertions(+), 395 deletions(-) diff --git a/Changelog b/Changelog index bcf76a281..67c467346 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,26 @@ +0.9.16 8 November 2002 + +See Changelog.full for the complete list of who did what. + +Release highlights: + o CRIS architecture and shared library support from Tobias Anderberg + o New uClibc configuration system + o shared library global constructors and destructors initialization + ordering fixed by Stefan Allius + o More SuperH architecture fixes from Stefan Allius + o uClibc now compiles with newer versions of gcc (i.e. RedHat 8.0) + o uClibc no longer requires perl to compile + o mips dlopen was fixed by Steven J. Hill + o pty and tty handling fixes + o Manuel Novoa added support for a new /etc/TZ file for globally + setting the system timezone. + o Manuel also fixed up a number of remaining wide char issues. + o Lots of other little bug fixes and cleanups + + -Erik + + + 0.9.15 27 August 2002 This is a minor bugfix release. diff --git a/Changelog.full b/Changelog.full index 0c81acebf..f2327ea80 100644 --- a/Changelog.full +++ b/Changelog.full @@ -1,471 +1,1028 @@ -2002-08-27 davidm +2002-11-09 Erik Andersen - * /var/cvs/uClibc/libc/sysdeps/linux/sh/crt0.S: - Somehow the bit of code that add the offset of envp to argv got lost - and envp was a very small number and not an address. I think this fixes - most of the SH platform. + * 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... -2002-08-27 Erik Andersen + * Makefile: + Patch from Stefan Allius, rebuild extra/config/conf if it is missing + following a make clean - * /var/cvs/uClibc/docs/uclibc.org/index.html: update for release + * extra/config/mconf.c: + Patch from Stefan Allius: avoid implicit casting of void *(64bit) to int(32bit) - * /var/cvs/uClibc/Changelog, /var/cvs/uClibc/Changelog.full: - Update changelog for release +2002-11-08 Erik Andersen -2002-08-27 Manuel Novoa III + * test/string/string.c: Re-enable the strchrnul and rawmemchr tests - * /var/cvs/uClibc/include/stdio.h: - Obligatory forgotten file... sys_errlist garbage. + * extra/Configs/Config.in: + Scare people away from enabling locale support for now. -2002-08-27 Erik Andersen + * extra/Configs/Config.i386.default: + Disable ldso debugging. It should not be on by default. - * /var/cvs/uClibc/test/ldso/.cvsignore, /var/cvs/uClibc/test/ldso/Makefile, /var/cvs/uClibc/test/ldso/dlttest.c, /var/cvs/uClibc/test/ldso/howdy.c: - Semonstrate a problem where weak symbols referenced in shared libs are not - being overridden when those same symbols _are_ overridden by other shared libs - in the main app. Ick. + * extra/gcc-uClibc/Makefile: + Use NATIVE_CC. Don't hard code using 'gcc'. -Erik - * /var/cvs/uClibc/extra/scripts/gen_bits_syscall_h.sh, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/h8300/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/i960/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/syscalls.h, /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/syscalls.h: - Make sure that bits/syscalls.h always includes bits/syscall.h - -Erik + * extra/scripts/get-needed-libgcc-objects.sh, ldso/ldso/Makefile, libc/Makefile: + Patch from Stefan Allius for libgcc multilib support -2002-08-27 Manuel Novoa III + this is the last patch, we need to make the support of multitarget libgcc + complete. - * /var/cvs/uClibc/libc/string/Makefile, /var/cvs/uClibc/libc/string/wstring.c: - Reimplement sys_errlist[] so that it works on sparc, alpha, and mips. - In my opinion, this is a complete waste of good memory and is only - done to avoid the anticipated whining by people who think this libary - is named uCglibc. At some point this may become a configurable option. - And even then, it may not be available in all configs... for instance - when system error messages become locale-dependent. + --------------------------------- + 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. + --------------------------------- - * /var/cvs/uClibc/include/dirent.h: - Make this as glibc-like as possible while avoiding the fileutils - problem. glibc hides the DT_* enum values unless __USE_BSD is defined. + * include/fstab.h: Disble unimplemented function prototypes -2002-08-27 davidm + * extra/Configs/Config.sh: + Patch from Stefan Allius to fixup SuperH ARCH_HAS_MMU and ARCH_HAS_FPU - * /var/cvs/uClibc/libc/sysdeps/linux/sh/crt0.S: - Fix a delay slot problem, this gets some apps working on SH, a good number - are still seg-faulting. +2002-11-08 miles -2002-08-27 Erik Andersen + * extra/Configs/Config.v850.default: Initial checkin. - * /var/cvs/uClibc/include/dirent.h: - Move the _DIRENT_HAVE_D_TYPE test to avoid breaking fileutils - -Erik +2002-11-08 Erik Andersen - * /var/cvs/uClibc/include/dirent.h: - No need to hide this stuff when _DIRENT_HAVE_D_TYPE is not - defined... Nothing too sacred in there and it can be used - for other things... - -Erik + * 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 -2002-08-27 davidm + * extra/Configs/Config.powerpc.default: Add defaults for powerpc - * /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/kernel_types.h: - Added __kernel_fsid_t to satisfy some apps that need it. - Definitions taken from 2.4 kernel sources for each of the platforms. + * extra/Configs/uClibc_config_fix.pl: + Kill the now obsolete uClibc_config_fix.pl -2002-08-26 Erik Andersen + * extra/Configs/Config.sh.default: Add a default for sh - * /var/cvs/uClibc/libc/misc/dirent/Makefile, /var/cvs/uClibc/libc/misc/dirent/readdir64_r.c: - Implement missing readdir64_r.c - -Erik +2002-11-08 Manuel Novoa III + + * docs/Glibc_vs_uClibc_Differences.txt: + Add notes about setvbuf and struct tm extension fields tm_gmtoff and tm_zone. + + * 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 + + * test/ldso/Makefile: Cleanup everything + +2002-11-08 Manuel Novoa III + + * 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 + + * 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.. + + * extra/Configs/Config.arm.default: + Construct a default arm configuration + + * 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. + + * 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 + + * INSTALL, README: Update the docs + + * 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. + + * 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 + + * 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 + +2002-11-07 sjhill + + * Rules.mak, extra/Configs/Config.mips, extra/Configs/Config.mips.default, extra/Configs/Config.mipsel.default: + Changes for MIPS and new configuration system. -2002-08-26 Manuel Novoa III + * Rules.mak: Fix target determination for MIPSEL. - * /var/cvs/uClibc/test/string/string.c, /var/cvs/uClibc/libc/string/Makefile, /var/cvs/uClibc/libc/string/wstring.c, /var/cvs/uClibc/include/stdio.h: - sparc, alpha, and mips have different errno values than the other - supported platforms. Adjust _susv3_strerror_r function to deal with - this. Also fix an error in strerror() wrt invalid errnos. +2002-11-07 Manuel Novoa III - NOTE: sys_errlist and sys_nerr are no longer supported!!! + * libc/stdlib/strtod.c: Remove atof from strtod.o... -2002-08-26 Erik Andersen + * libc/stdlib/Makefile: Okay, fix for atof _correctly_... - * /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/kernel_types.h: - Oops. I got the include guard wrong. Fix it per current - value in include/asm-v850/posix_types.h on cvs.uclinux.org + * libc/stdlib/Makefile: Apparently I forgot to build atof... + +2002-11-07 Erik Andersen + + * libc/sysdeps/linux/powerpc/sys/procfs.h: + Fixup function prototype for __uint128_t which fixes the compile + on powerpc with gcc 3.2. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/kernel_types.h: - Make bits/kernel_types.h include guard names match the include - guard names used by the kernel's asm/posix_types.h to eliminate - gratuitous conflicts and let our file win over the very-likely- - to-be-broken kernel header file. +2002-11-07 sjhill + + * extra/config/Makefile, extra/Makefile, Makefile: + Fixed makefiles to remove binaries generated for the configuration + menu system when doing a 'make clean'. + +2002-11-07 Erik Andersen + + * extra/Configs/Config.in.arch: Add missing blank line + +2002-11-07 miles + + * extra/Configs/Config.v850, extra/Configs/Config.v850e: + Rename `Config.v850e' to `Config.v850'. + + * 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. + + * 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. + + * Rules.mak: * Make -DNDEBUG depend on DOASSERTS, not DODEBUG + * Make -msoft-float depend on USE_GCC_SOFT_FLOAT_OPTION, not + UCLIBC_HAS_SOFT_FLOAT. + +2002-11-06 Erik Andersen + + * 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/confdata.c: Increase maximum .config line size to 1024. + + * 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. + + * ldso/ldso/powerpc/elfinterp.c: Fix up a compile error + + * ldso/ldso/Makefile: Cleanup patch from Simon Rowe + +2002-11-05 Manuel Novoa III + + * libc/misc/wchar/wchar.c: + Forgot to change btowc and wctob when I changed the wc<->mb functions yesterday. + +2002-11-05 Erik Andersen + + * libc/stdio/stdio.c: + For now, leave the "Oddly enough, __fsetlocking() is NOT threadsafe." + comment as an mjn3 only item. + + * Rules.mak, extra/Configs/Config.in.arch: Cleanup soft-float support + + * libc/sysdeps/linux/h8300/Makefile, libc/sysdeps/linux/m68k/Makefile, Rules.mak: + Fixup handling of disabled options + + * extra/gcc-uClibc/Makefile: Fix gcc-uClibc.h dependancies + + * 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. -Erik -2002-08-26 miles + * 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. + + * docs/Glibc_vs_uClibc_Differences.txt: Expand NIS comments - * /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/v850/bits/kernel_types.h: - Initial checkin. + * Rules.mak, extra/gcc-uClibc/Makefile, extra/gcc-uClibc/gcc-uClibc.c, libpthread/Makefile: + Standardize LIBGCC_DIR -2002-08-25 Erik Andersen + * ldso/ldso/Makefile: Kill legacy DOPIC=true assignment - * /var/cvs/uClibc/Rules.mak: - Update version to 0.9.15 in preparation for making a release + * libc/Makefile: Patch from Stefan Allius -- export LIBGCC + + * libc/sysdeps/linux/common/Makefile: + Patch from Stefan Allius. Include CPU_CFLAGS when compiling + initfini + + * extra/config/symbol.c: Patch from M. R. Brown to fix 'make defconfig' + + * Rules.mak: Export TARGET_ARCH + +2002-11-04 Manuel Novoa III + + * docs/Glibc_vs_uClibc_Differences.txt: + Hit the highlights of glibc differences in my code. Not yet complete though. + + * 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. + + 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. + + * Rules.mak: This fixes a broken build for me. + +2002-11-04 Erik Andersen + + * Rules.mak: Fixup so we use soft-float when HAS_FPU is disabled. -Erik -2002-08-25 Manuel Novoa III + * 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. - * /var/cvs/uClibc/libc/stdio/stdio.c: - Changed fclose behavior when custom streams were enabled. Previously, - the cookie pointer was set to NULL as a debugging aid. However, - some of the perl 5.8 test rely on being able to close stderr and - still try writing to it. So now, the cookie pointer and handler - function pointers are set to that it is a "normal" file with a - file descriptor of -1. + * 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 - Note: The cookie pointer is reset to NULL if the FILE struct is - free'd by fclose. + * libc/sysdeps/linux/sh/clone.S: + Don't use ENTRY(), make the asm explicit + -Erik -2002-08-25 Erik Andersen + * docs/uclibc.org/index.html: + Add link to search google's uclibc archive - * /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/uClibc_config_fix.pl, /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.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/Makefile, /var/cvs/uClibc/include/stdlib.h, /var/cvs/uClibc/libc/stdlib/Makefile, /var/cvs/uClibc/libc/stdlib/drand48-iter.c, /var/cvs/uClibc/libc/stdlib/srand48_r.c, /var/cvs/uClibc/libc/stdio/scanf.c: - Kill the HAS_LONG_LONG option. It really did not make a lot of - sense to exclude it, gcc always supports long long, and we never - fully excluded long long anyways (off64_t for example). + * libc/sysdeps/linux/common/syscalls.c: Oops. Fix compilation on arm. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/msq.h: - Use the kernel version of struct msqid_ds directly, since we don't - do any of that silly translating... +2002-11-03 Erik Andersen + + * 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 + + * 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. + + * 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... + +2002-11-03 Erik Andersen + + * 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 + and "M. R. Brown" + + * 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 to get rid of + "depreciated multi-line string literals" warnings + + * libc/inet/resolv.c: + Patch from "Cho, Seong-Myun" to limit + things to the lower 16 bits of 'id'. + + * Makefile, Rules.mak: Use "include_config" not "include-config" + +2002-11-02 Erik Andersen + + * extra/Configs/Config.sh: + kill some ancient stuff that appears to be lingering + + * extra/Configs/Config.sh: Default to SH4 + + * 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... -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/kernel_stat.h: - Finish off the bits/kernel_stat.h cleanup for proper - __USE_FILE_OFFSET64 handling. + * 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 + + * extra/Configs/Config.i386.default, extra/Configs/Config.in, ldso/ldso/Makefile: + Fix PIC configuration, so shared libraries once again work -Erik - * /var/cvs/uClibc/libc/misc/sysvipc/sem.c, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/ipc.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/sem.h: - Make shm stuff work properly. + * extra/Configs/Config.in: + It looks like I lost DEVEL_TOOL_PREFIX. Put it back. -Erik - * /var/cvs/uClibc/test/misc/.cvsignore: ignore generated stuff +2002-11-01 Manuel Novoa III + + * libc/misc/locale/locale.c: Fix a stupid bug. + + * 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/LOCALES: Add a few more entries. -2002-08-24 Manuel Novoa III + * extra/locale/gen_locale.c: + Work around glibc brain-damage regarding nl_langinfo and {mon_}grouping + entries. - * /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/stat.h: - Tweak things so that struct stat and struct stat64 (seem to) work on - i386. This is for Erik to look at wrt the other archs. +2002-11-01 Erik Andersen -2002-08-24 Erik Andersen + * docs/uclibc.org/uClibc-apps.html: Fix udhcp link - * /var/cvs/uClibc/test/misc/Makefile, /var/cvs/uClibc/test/misc/sem.c: - Simple shared memory test + * Rules.mak: Don't assume i386 - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno.h: - Avoid `ECANCELED' redefined on mips +2002-10-31 Erik Andersen + + * 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 - * /var/cvs/uClibc/ldso/ldso/ld_syscall.h: - Use bits/kernel_stat.h, not asm/stat.h + * 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. + + * extra/gcc-uClibc/Makefile: Skip the dependancy on .config for now + + * extra/gcc-uClibc/Makefile: Fix a lingering reference to Config -Erik - * /var/cvs/uClibc/test/stdlib/.cvsignore: Ignore generated stuff + * test/Makefile, test/Rules.mak: + Allow 'make clean' on the test stuff to work with the new config system. + -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/kernel_types.h, /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/kernel_types.h: - Break dependancy of bits/types.h on the asm/posix_types.h kernel - header, which is not directly usable for many architectures. + * Rules.mak: Don't force gcc 3.2 on the world -Erik -2002-08-23 Erik Andersen + * 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 - * /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/sh/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/kernel_stat.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/kernel_stat.h: - Split out the definition of struct stat into the new arch - specific bits/kernel_stat.h file. + * extra/scripts/get-needed-libgcc-objects.sh: + Fixup script to avoid potential spurious whining over empty object files. -Erik - * /var/cvs/uClibc/docs/uclibc.org/FAQ.html: Fix broken link +2002-10-30 Erik Andersen + + * ldso/util/bswap.h: Use '#ifdef __linux__' not '#ifdef linux' - * /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/errno_values.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/errno_values.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/errno_values.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno_values.h: - Split out the arch dependant errno_values.h junk into arch dependant files. + * Rules.mak: Use a nifty macro to make testing gcc features simpler + and easier to read. -Erik - * /var/cvs/uClibc/test/pthread/.cvsignore: Ignore generated binaries +2002-10-29 Manuel Novoa III -2002-08-23 miles + * libc/stdlib/stdlib.c: + Fix a couple of 'restrict' bugs in mbstowcs and wcstombs. - * /var/cvs/uClibc/libc/sysdeps/linux/common/Makefile (initfini.s): - Search the uClibc include dir, so we can find . +2002-10-29 Erik Andersen -2002-08-22 Erik Andersen + * libc/stdio/printf.c: Fix a silly typo for Manuel + -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 , which does a better job. - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/stat.h: - Rework struct stat/stat64 handling to eliminate kernel headers + * libpthread/linuxthreads/manager.c: + A patch from Arne Jonsson : + + 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. + + * libc/sysdeps/linux/common/initfini.c: + Add in a horrible hack that seems necessary for the Hitachi + SH processors to work properly. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno_values.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/errno.h: - Rework errno handling to be kernel header free +2002-10-29 Manuel Novoa III + + * 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 + + * libc/misc/assert/__assert.c: + ANSI/ISO C99 requires assert() to write to stderr. This means that + writing to STDERR_FILENO is insufficient, as the user could freopen + stderr. It is also insufficient to output to fileno(stderr) since + this would fail in the custom stream case. I didn't remove the + old code though, as it doesn't use stdio stream functionality + and is useful in debugging the stdio code. + + * libc/misc/time/time.c: + Allow timezone info to be specified in a file... /etc/TZ. Turned on by + default for now. From the comments... + + * Defining __TIME_TZ_FILE causes tzset() to attempt to read the TZ value + * from the file /etc/TZ if the TZ env variable isn't set. The file contents + * must be the intended value of TZ, followed by a newline. No other chars, + * spacing, etc is allowed. As an example, an easy way for me to init + * /etc/TZ appropriately would be: echo CST6CDT > /etc/TZ + + Also optimized timezone setting when the timezone string hasn't changed, + as well as fixed a minor buglet wrt SUSv3-allowed chars in TZ std and + dst fields. + +2002-10-28 miles + + * Makefile: + Define TOPDIR to be just `.' when invoking gen_bits_syscall_h.sh, since + we've already chdir'ed to $(TOPDIR). + + * extra/scripts/gen_bits_syscall_h.sh: + Add appropriate -I options so that any files included by unistd.h are + found correctly. + Tweak the whitespace of the generated file. + +2002-10-25 Erik Andersen + + * libc/misc/internals/Makefile: Fixup depends + + * libc/Makefile: Put it back the way it was. Sigh. + + * libc/Makefile: + Sigh. Lets not use LD to link, or we lose the INTERP field. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/arm/bits/syscalls.h: - Support _syscall6 and _syscall7 for arm + * libc/misc/internals/Makefile: + Doh. Add a missing #include to interp.c. I wonder why it used to + work? Perhaps the wrapper bug miles fixed? Regardless this is very + much needed. -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/initfini.c, /var/cvs/uClibc/extra/Configs/Config.sh, /var/cvs/uClibc/Makefile: - Hide .hidden stuff unless explicitly enabled + * libc/sysdeps/linux/common/Makefile: + Overwriting the crt1.o link is fine + + * libc/sysdeps/linux/common/Makefile: + Be nicer to gcc -- add a link for crt1.o + + * ldso/libdl/Makefile: Actually install libdl.a -Erik -2002-08-21 Erik Andersen +2002-10-23 Erik Andersen + + * libpthread/linuxthreads/manager.c: + A patch from Arne Jonsson to allow + uClibc's libpthread to run on linux 2.0.x kernels which lack + poll() and therefore must use select() instead. + +2002-10-23 miles - * /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/types.h, /var/cvs/uClibc/libpthread/linuxthreads/wrapsyscall.c: - Revert mode_t change. Sigh. As Manuel so eloquently put it: "this is the way - we hose our code... hose our code... hose our code... this is the way we hose - our code... all thanks to glibc" + * extra/gcc-uClibc/gcc-uClibc.c: + Make `-nostdlib' and `-nodefaultlibs' work correctly. + +2002-10-22 Erik Andersen + + * libc/stdlib/ptsname.c: + When UNIX98PTY_ONLY was false, but Unix 98 ptys were in fact working and + functional, everything would succeed but then we would return a failure due to + a silly logic bug. This patch fixes it so things will work correctly + regardless of the UNIX98PTY_ONLY setting. -Erik - * /var/cvs/uClibc/libpthread/linuxthreads/wrapsyscall.c: - mode_t was being promoted to an int by gcc's __builtin_va_arg, causing bad - things to happen. This makes it explicit, so pthread using apps are no longer - broken... +2002-10-21 Erik Andersen + + * docs/uclibc.org/uClibc-apps.html: + Update freeswan entry, per success report from Arne Bernin + +2002-10-18 Erik Andersen + + * Rules.mak, libc/sysdeps/linux/common/Makefile: + This patch, based on a patch from Stefan Allius, lets us pick an + appropriate awk implementation at compile time, so we can again + compile on Solaris and whatnot. -Erik -2002-08-20 Erik Andersen + * Makefile: Echo mmu-less warning where appropriate - * /var/cvs/uClibc/libpthread/linuxthreads/wrapsyscall.c: - Remove some noise + * docs/Glibc_vs_uClibc_Differences.txt: + Add in an initial list of the differences between glibc and uClibc. + This is not complete, but covers some of the main points. + -Erik - * /var/cvs/uClibc/libresolv/resolv.c: Stupid cut-n-paste error +2002-10-18 miles -2002-08-20 Manuel Novoa III + * libc/stdlib/malloc/malloc.c: + Don't infinitely recurse when trying to grow __malloc_mmb_heap. - * /var/cvs/uClibc/include/dirent.h: - Unlike glibc, uClibc doesn't always support the d_type field of - struct dirent. So, disable the d_type support macros when d_type - isn't available. This fixes a build problem file fileutils-4.1. +2002-10-17 Erik Andersen -2002-08-20 Erik Andersen + * test/stdlib/.cvsignore, test/stdlib/Makefile, test/stdlib/ptytest.c: + Add a test from Alex King which + shows a failure in ptsname when ASSUME_DEVPTS=false + -Erik - * /var/cvs/uClibc/libpthread/Makefile: - Only build libthread_db when both threads and debug are enabled + * libc/stdlib/malloc/heap.h, libc/stdlib/malloc/realloc.c: + Fix malloc so it compiles and works when using pthreads -Erik -2002-08-19 Erik Andersen +2002-10-16 Erik Andersen + + * test/ldso/Makefile: Remove -fuclibc-ctors + + * ldso/libdl/dlib.c: + Kill a warning. Patch from Joel Coltoff + +2002-10-15 sjhill + + * ldso/libdl/dlib.c: + Fixed 'dlopen' call for MIPS. Things seem to work swimingly. Woohoo! + +2002-10-15 miles + + * Makefile (uClibc_config): + Define __UCLIBC_UCLINUX_BROKEN_MUNMAP__ for MMU-less systems. + + * libc/stdlib/malloc/realloc.c: + Use __heap_[un]lock instead of __malloc_[un]lock. + + * libc/stdlib/malloc/malloc.h: Get rid of old malloc lock stuff. + + * libc/stdlib/malloc/free.c, libc/stdlib/malloc/malloc.c: + Fix locking to not deadlock when __UCLIBC_UCLINUX_BROKEN_MUNMAP__ is defined. - * /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/m68k/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/bits/select.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/mknod.c, /var/cvs/uClibc/libc/sysdeps/linux/common/statfix.c, /var/cvs/uClibc/libc/sysdeps/linux/common/statfix.h, /var/cvs/uClibc/libc/sysdeps/linux/common/statfix64.c, /var/cvs/uClibc/libc/sysdeps/linux/common/statfix64.h, /var/cvs/uClibc/libc/sysdeps/linux/common/syscalls.c, /var/cvs/uClibc/libc/sysdeps/linux/common/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/stat.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/types.h, /var/cvs/uClibc/include/sys/stat.h, /var/cvs/uClibc/libc/misc/sysvipc/ftok.c, /var/cvs/uClibc/libc/stdlib/ptsname.c, /var/cvs/uClibc/libc/stdlib/unix_grantpt.c: - Eliminate wrapping of struct stat and use the kernel version - directly. Eliminate all the attendant baggage. Fix internal - types to match kernel types more closely. +2002-10-14 Erik Andersen + + * extra/scripts/initfini.pl: Kill the now redundant initfini.pl -Erik - * /var/cvs/uClibc/libc/inet/resolv.c, /var/cvs/uClibc/include/resolv.h: - Fixup struct _res handling so apps using struct _res can actually - compile ("worst standard ever!") + * libc/sysdeps/linux/common/Makefile, extra/scripts/initfini.awk: + Patch from Christian MICHON to reimplement + my little initfini.pl script in awk. This eliminates uClibc's + compile-time dependancy on perl, and lets us use the much lighter + weight awk, which facilitates building uClibc standalone environments. + +2002-10-13 Erik Andersen + + * include/pthread.h, libc/sysdeps/linux/common/bits/sigthread.h, libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: + It turns out that __thread is now a gcc keyword. We used __thread in + a few spots in our header files. In this change I do a + s/__thread/__thread_id/ + so we no longer conflict with newer CVS versions of gcc (such as the + patched up gcc 3.2 included with RedHat 3.0). -Erik - * /var/cvs/uClibc/extra/Configs/Config.sh: SuperH config update +2002-10-09 Erik Andersen + + * libc/sysdeps/linux/sparc/bits/fcntl.h, libc/sysdeps/linux/mips/bits/fcntl.h: + Octal to hex + + * libc/sysdeps/linux/cris/bits/fcntl.h, libc/sysdeps/linux/i960/bits/fcntl.h, libc/sysdeps/linux/alpha/bits/fcntl.h, libc/sysdeps/linux/v850/bits/fcntl.h, libc/sysdeps/linux/sparc/bits/fcntl.h, libc/sysdeps/linux/sh/bits/fcntl.h, libc/sysdeps/linux/powerpc/bits/fcntl.h, libc/sysdeps/linux/mips/bits/fcntl.h, libc/sysdeps/linux/m68k/bits/fcntl.h, libc/sysdeps/linux/h8300/bits/fcntl.h, libc/sysdeps/linux/i386/bits/fcntl.h, libc/sysdeps/linux/arm/bits/fcntl.h: + Support O_STREAMING + +2002-10-09 miles + + * libc/stdlib/malloc/free.c, libc/stdlib/malloc/heap.h, libc/stdlib/malloc/malloc.c, libc/stdlib/malloc/malloc.h: + * Add support for uClinux's broken munmap, contingent on + __UCLIBC_UCLINUX_BROKEN_MUNMAP__ (which is currently not defined anywhere). + This makes other cases a tiny bit less efficient too. + * Move the malloc lock into the heap structure (locking is still done + at the malloc level though, not by the heap functions). + * Initialize the malloc heap to contain a tiny initial static free-area so + that programs that only do a very little allocation won't ever call mmap. - * /var/cvs/uClibc/ldso/libdl/dlib.c: missed const-ifying this one. +2002-10-08 sjhill - * /var/cvs/uClibc/ldso/ldso/sh/elfinterp.c, /var/cvs/uClibc/ldso/ldso/sh/ld_sysdep.h, /var/cvs/uClibc/ldso/ldso/ld_string.h, /var/cvs/uClibc/ldso/ldso/ldso.c, /var/cvs/uClibc/ldso/ldso/readelflib1.c, /var/cvs/uClibc/ldso/ldso/hash.c, /var/cvs/uClibc/ldso/ldso/ld_hash.h: - some updates from Stefan Allius to make up the SuperH shared lib - loader build properly. Mostly just sprinkling casts, and making - static some things that should be static. + * Makefile: + Implemented 'romfs' target so that uClibc works with building uClinux. - * /var/cvs/uClibc/libc/misc/internals/Makefile, /var/cvs/uClibc/libc/misc/internals/abi-note.S, /var/cvs/uClibc/libc/misc/internals/abi-tag.h: - Add a .note section to make gdb happy +2002-10-01 Erik Andersen - * /var/cvs/uClibc/libc/misc/internals/__uClibc_main.c: - Call the pthread setup junk early if possible. + * libc/sysdeps/linux/mips/crt0.S: + Patch from Marshall M. Midden to fixup crt0 for + mips where I had made a mess - * /var/cvs/uClibc/libc/sysdeps/linux/sh/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/sh/crti.S, /var/cvs/uClibc/libc/sysdeps/linux/sh/crtn.S, /var/cvs/uClibc/extra/scripts/initfini.pl, /var/cvs/uClibc/libc/sysdeps/linux/common/Makefile, /var/cvs/uClibc/libc/sysdeps/linux/common/initfini.c: - Work from Stefan Allius which allows superH to use the common - method for building crti.o and crtn.o + * libc/string/Makefile: Patch from Stefan Allius : + 'wcschrnul.o' appeares two times in MOBJW2 - * /var/cvs/uClibc/libpthread/linuxthreads/errno.c, /var/cvs/uClibc/libpthread/linuxthreads/events.c, /var/cvs/uClibc/libpthread/linuxthreads/internals.h, /var/cvs/uClibc/libpthread/linuxthreads/pthread.c, /var/cvs/uClibc/libpthread/Makefile: - Based on work by Stefan Allius, arrange for early initialization of - pthread stuff. Also, don't bother building libthread_db unless we - are debugging. + * libc/sysdeps/linux/sh/__init_brk.c, libc/sysdeps/linux/sh/brk.c, libc/sysdeps/linux/sh/sbrk.c, libc/sysdeps/linux/common/initfini.c, extra/Configs/Config.sh, extra/scripts/initfini.pl: + Patch from Stefan Allius : + + * extra/scripts/initfini.pl, extra/scripts/get-needed-libgcc-objects.sh, ldso/ldso/sh/boot1_arch.h, ldso/ldso/sh/elfinterp.c, ldso/ldso/sh/ld_sysdep.h, ldso/ldso/sh/resolve.S, ldso/ldso/i386/elfinterp.c, ldso/ldso/arm/elfinterp.c, ldso/ldso/ldso.c, ldso/ldso/readelflib1.c, libc/sysdeps/linux/sh/crt0.S, libc/sysdeps/linux/mips/crt0.S, libc/sysdeps/linux/i386/crt0.S, libc/sysdeps/linux/arm/crt0.S, extra/gcc-uClibc/gcc-uClibc.c, libc/Makefile, libc/misc/internals/__uClibc_main.c, libpthread/Makefile: + This commit contains a patch from Stefan Allius to change + how uClibc handles _init and _fini, allowing shared lib constructors and + destructors to initialize things in the correct sequence. Stefan ported the SH + architecture. I then ported x86, arm, and mips. x86 and arm are working fine, + but I don't think I quite got things correct for mips. + + * extra/locale/Makefile, Makefile, Rules.mak, test/Rules.mak: + Sigh. OpenBSD used /usr/bin/{true|false} + +2002-09-26 Erik Andersen + + * libc/misc/internals/__uClibc_main.c, libc/sysdeps/linux/cris/sysdep.S: + Replace _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__ -Erik - * /var/cvs/uClibc/test/ldso/Makefile, /var/cvs/uClibc/test/ldso/dltest2.c: - Open a lib that is not so closely coupled with gdb + * docs/uclibc.org/uClibc-apps.html: A few additions + + * libc/stdlib/atexit.c: A bug fix from Alexey V. Neyman: + + In case of vfork(), the parent was left with __exit_count of -1 and + thus tried to find non-NULL value of __exit_function_table[-1].atexit, + __exit_function_table[-2].atexit and call this function; of course, it + leads to coredump. + +2002-09-23 tobiasa + + * libc/sysdeps/linux/cris/Makefile, libc/sysdeps/linux/cris/__init_brk.c, libc/sysdeps/linux/cris/brk.c, libc/sysdeps/linux/cris/crt0.c, libc/sysdeps/linux/cris/sbrk.c, libc/sysdeps/linux/cris/sysdep.h: + Cosmetic cleanup. + + * ldso/ldso/cris/ld_syscalls.h: + Removed redundant code. Same thing exist in sys/syscalls.h so include that + instead. + +2002-09-20 tobiasa + + * extra/Configs/Config.cris: + Build libpthread now that the CRIS as support for it! + + * libc/sysdeps/linux/cris/bits/syscalls.h, libc/sysdeps/linux/cris/sys/procfs.h, libc/sysdeps/linux/cris/clone.S, libc/sysdeps/linux/cris/syscall-cris.c, libc/sysdeps/linux/cris/syscall.S, libc/sysdeps/linux/cris/sysdep.S, libc/sysdeps/linux/cris/sysdep.h, libc/sysdeps/linux/cris/Makefile: + * Added clone() system call. + * Proper implementation of bits/syscalls.h, no cheating by just including + . + * Proper implementation of syscall.S, it no longer contains the + __syscall_error, instead it contains code which makes syscall(nr,...) a + system call. + * Added sysdep.S which contains the code for __syscall_error. + * Added some macros to sysdep.h. + * Added sys/procfs.h, which is needed when compiling with thread support. + * Removed unused syscall-cris.c. + + * libpthread/linuxthreads/sysdeps/cris/pt-machine.h, libpthread/linuxthreads/sysdeps/cris/sigcontextinfo.h: + Added pthread support for CRIS. + + * libc/sysdeps/linux/cris/ipc.c: Removed unused file + +2002-09-19 Manuel Novoa III + + * libc/misc/gnu/Makefile, libc/misc/gnu/obstack.c, libc/misc/Makefile, include/gnu-versions.h, include/obstack.h: + Add gnu obstack support. I still need to implement the obstack_printf + and obstack_vprintf, but at least now the reiserfsprogs build. + + * libc/unistd/getsubopt.c, libc/unistd/Makefile: + Add SUSv3 function getsubopt. + + * libc/misc/wctype/wctype.c, libc/misc/wchar/wchar.c, libc/misc/locale/locale.c, libc/stdlib/stdlib.c, libc/string/Makefile, libc/string/wstring.c, include/string.h: + Hide my personal #warning reminders. Add __wcschrnul, rename strchrnul + to __strchrnul, and add weak aliases for them. - * /var/cvs/uClibc/libc/misc/pthread/weaks.c: - Be prepared to call __pthread_initialize_minimal +2002-09-19 tobiasa -2002-08-19 miles + * ldso/ldso/cris/ld_syscalls.h: + * Changed paramater names to match their register, i.e. __a -> __r10. + * Do not clobber things that are specified as outputs. - * /var/cvs/uClibc/libc/stdlib/malloc/Makefile (CSRC): - Make contents source files, not object files. +2002-09-17 davidm - * /var/cvs/uClibc/libc/stdlib/malloc/Makefile (CSRC): Add `memalign.c'. + * libpthread/linuxthreads/sysdeps/m68k/pt-machine.h: + Fixup thread support for the 5200/5307 coldfire platforms. - * /var/cvs/uClibc/libc/stdlib/malloc/memalign.c: Initial checkin. + * libc/sysdeps/linux/m68k/clone.S: + Add in clone and make the assembler PIC/msep-data friendly. - * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c (realloc): - Follow new arg conventions of MALLOC_SET_SIZE. + * libc/sysdeps/linux/m68k/bits/setjmp.h: + Fixup JMPBUF_UNWINDS so that is will compile if used :-) - * /var/cvs/uClibc/libc/stdlib/malloc/malloc.c (malloc): - Use MALLOC_SETUP. + * libc/inet/addr.c: + Fix a memory corruption bug. - * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h (MALLOC_SETUP): - New macro. - (MALLOC_SET_SIZE): Take the base-address of the block, not the user-address. - (MALLOC_ADDR): Macro removed. + With gcc, sizeof on a sized array argument to a function returns 4, not + 16 as was expected in this code. This caused inet_ntoa to overwrite + whatever came before the buffer in the BSS by up to 12 bytes. -2002-08-18 Erik Andersen +2002-09-16 Erik Andersen - * /var/cvs/uClibc/libc/sysdeps/linux/sparc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/powerpc/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/alpha/bits/types.h, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/types.h: - Directly use kernel types for uid_t, gid_t, and dev_t to avoid the - need to translate these entities... + * docs/uclibc.org/index.html: Add url + + * docs/uclibc.org/index.html: Update index + + * libc/sysdeps/linux/common/getdirname.c: + Use __UCLIBC_HAVE_LFS__ not __USE_LARGEFILE64 to decide if + 64 bit interfaces should be used. -Erik - * /var/cvs/uClibc/libc/pwd_grp/grent.c, /var/cvs/uClibc/libc/pwd_grp/initgroups.c, /var/cvs/uClibc/libc/pwd_grp/__getgrent.c, /var/cvs/uClibc/libc/pwd_grp/config.h, /var/cvs/uClibc/libc/pwd_grp/fgetgrent.c, /var/cvs/uClibc/libc/pwd_grp/getgrgid.c, /var/cvs/uClibc/libc/pwd_grp/getgrnam.c: - Yet more rework to make __getgrent and the functions that use it - reentrant... +2002-09-16 tobiasa + + * libc/Makefile: + * Added semi-support for version scripts. If sysdeps/linux//libc.map + exists read it and include it when linking. + * Add LIBGCC when linking libc. + + * Rules.mak, Makefile: * Updated for the CRIS port. + * Added variable LIBGCC which is included when linking libc.so. Arch + specific linker options go into LIBGCC_CFLAGS defined in Config.. + + * extra/Configs/Config.cris: Configuration for the CRIS port. + + * ldso/ldso/Makefile, ldso/ldso/ldso.c: Updated for the CRIS port. + + * ldso/ldso/cris/boot1_arch.h, ldso/ldso/cris/elfinterp.c, ldso/ldso/cris/ld_syscalls.h, ldso/ldso/cris/ld_sysdep.h, ldso/ldso/cris/resolve.S: + Initial version of the dynamic linker code for the CRIS port. + + * libc/sysdeps/linux/Makefile: Added cris to ALL_SUBDIRS + + * libc/sysdeps/linux/cris/sys/ucontext.h, libc/sysdeps/linux/cris/bits/byteswap.h, libc/sysdeps/linux/cris/bits/endian.h, libc/sysdeps/linux/cris/bits/fcntl.h, libc/sysdeps/linux/cris/bits/huge_val.h, libc/sysdeps/linux/cris/bits/kernel_stat.h, libc/sysdeps/linux/cris/bits/kernel_types.h, libc/sysdeps/linux/cris/bits/mathcalls.h, libc/sysdeps/linux/cris/bits/mman.h, libc/sysdeps/linux/cris/bits/setjmp.h, libc/sysdeps/linux/cris/bits/shm.h, libc/sysdeps/linux/cris/bits/syscalls.h, libc/sysdeps/linux/cris/bits/wordsize.h, libc/sysdeps/linux/cris/Makefile, libc/sysdeps/linux/cris/__init_brk.c, libc/sysdeps/linux/cris/__longjmp.S, libc/sysdeps/linux/cris/brk.c, libc/sysdeps/linux/cris/crt0.c, libc/sysdeps/linux/cris/fork.c, libc/sysdeps/linux/cris/ipc.c, libc/sysdeps/linux/cris/libc.map, libc/sysdeps/linux/cris/sbrk.c, libc/sysdeps/linux/cris/setjmp.S, libc/sysdeps/linux/cris/syscall-cris.c, libc/sysdeps/linux/cris/syscall.S, libc/sysdeps/linux/cris/sysdep.h, libc/sysdeps/linux/cris/vfork.c: + Initial version of the CRIS port. + +2002-09-16 Erik Andersen + + * libc/pwd_grp/initgroups.c: + Fix stupid typo noticed by John Mullin + +2002-09-14 Erik Andersen + + * libc/misc/statfs/Makefile: + Fix a thinko -- I used the wrong symbol to check for LFS support. -Erik -2002-08-18 Manuel Novoa III +2002-09-13 miles - * /var/cvs/uClibc/libc/pwd_grp/grent.c: - Fix broken locking so that at least the Python 2.2.1 grp test doesn't - lock up. This really needs to be looked at, as I don't think this - needs to be reentrant. In any case, several routines call the - __getgrent internal routine and it uses static vars for data. If this - stuff is really supposed to be threadsafe, then __getgrent probably - needs fixing. + * libc/stdlib/malloc/heap_debug.c (__heap_check_failure): New function. + (__heap_check): Add more checks. Use `__heap_check_failure'. - * /var/cvs/uClibc/libc/pwd_grp/pwent.c: - Remove recursive lock/unlock for a non-recursive mutex. +2002-09-12 tobiasa -2002-08-17 Manuel Novoa III + * ldso/ldso/ldso.c: Support LD_DEBUG=all - * /var/cvs/uClibc/libc/inet/resolv.c: - Fixed __read_etc_hosts_r to return alias list and modified buffer - allocation accordingly. This fixes the segfault in the Python 2.2.1 - socket test. +2002-09-12 Erik Andersen - * /var/cvs/uClibc/libc/stdio/printf.c: - Fix two problems with printf that showed up in the python 2.2.1 tests; - One involving %o and one involving %f. + * extra/gcc-uClibc/gcc-uClibc.c: Some minor C++ support updates -2002-08-16 Manuel Novoa III + * ldso/ldso/sh/elfinterp.c, ldso/ldso/i386/elfinterp.c, ldso/ldso/arm/elfinterp.c: + Add missing _dl_dprintf arguments, as noticed by Tero Lyytikäinen - * /var/cvs/uClibc/include/ctype.h: - Disable macro implementations. Somehow I missed the following from the - ANSI/ISO C99 std... +2002-09-11 sjhill - A library macro that masks a function declaration expands to an - expression that evaluates each of its arguments once (and only once). - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Arguments that have side effects evaluate the same way whether the - expression executes the macro expansion or calls the function. Macros - for the functions getc and putc are explicit exceptions to this rule. - Their stream arguments can be evaluated more than once. Avoid argument - expressions that have side effects with these macros. + * libc/sysdeps/linux/mips/setjmp_aux.c: + Forgot one more #ifdef related to MIPS soft floating point. - This will be reworked before the next release. And yes, I feel stupid. +2002-09-10 Erik Andersen -2002-08-16 Erik Andersen + * libc/sysdeps/linux/arm/__longjmp.S, libc/sysdeps/linux/arm/setjmp.S: + Don't run floating point opcodes when code is compiled -msoft-float + -Erik + +2002-09-10 sjhill - * /var/cvs/uClibc/extra/scripts/get-needed-libgcc-objects.sh: - Cleanup exit a bit, from Ronald Wahl + * libc/sysdeps/linux/mips/__longjmp.c, libc/sysdeps/linux/mips/setjmp_aux.c: + Don't unconditionally save/restore FP registers, we might be doing soft + floating point. Thanks to Jay Carlson. -2002-08-16 miles +2002-09-10 Erik Andersen + + * libc/pwd_grp/__getgrent.c, libc/pwd_grp/fgetgrent.c, libc/pwd_grp/getgrgid.c, libc/pwd_grp/getgrnam.c, libc/pwd_grp/grent.c, libc/pwd_grp/initgroups.c: + Fix some locking problems noted by Manuel. __getgrent() was always + called under lock, but the callers did not share the same locks... + -Erik - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno.h: whitespace + * libc/misc/syslog/syslog.c: + Patch from Tiago Marques -- fall back to + using SOCK_STREAM if SOCK_DGRAM fails. + -Erik + + * libc/pwd_grp/putpwent.c: + As noted by Bill Huang , the gid and uid + were reversed in putpwent(). Oops. + -Erik - * /var/cvs/uClibc/libc/inet/resolv.c: Remove __res_state function. +2002-09-09 Manuel Novoa III - * /var/cvs/uClibc/libc/inet/rpc/Makefile: - Make INCLUDE_FULL_RPC default to !HAVE_SHARED. + * libc/stdlib/Makefile: Remove malloc_simple from subdir list. -2002-08-16 Erik Andersen + * libm/w_cabs.c: Clean up a warning. - * /var/cvs/uClibc/test/ldso/.cvsignore, /var/cvs/uClibc/test/ldso/Makefile, /var/cvs/uClibc/test/ldso/dltest2.c: - Demonstrate that dlopen() RTLD_NOW is currently broken. +2002-09-09 sjhill + + * libc/sysdeps/linux/common/getdirname.c, libc/misc/statfs/Makefile: + Fixed compile bugs having to do with 64-bit filesystem operations that + need to be disabled when 'DOLFS' is disabled. + +2002-09-09 Erik Andersen + + * ldso/ldso/ldso.c: Fixup multi-line string -Erik -2002-08-16 miles +2002-09-09 miles + + * libc/stdlib/malloc/realloc.c (realloc): + Record the correct size in the malloc header in the case + where we extended the existing allocation, and got back more than we + asked for from the heap. + +2002-09-06 Manuel Novoa III + + * libc/stdio/scanf.c: + Patch from Tero_Lyytikäinen to fix bug in matchchar + case. - * /var/cvs/uClibc/include/resolv.h: - Remove thread-specific stuff entirely. + * libc/stdlib/valloc.c: Add #include to silence warning. - * /var/cvs/uClibc/include/resolv.h (_res): - Define as a macro if __UCLIBC_HAS_THREADS__ is defined, - regardless of _LIBC. +2002-09-06 miles - * /var/cvs/uClibc/include/netdb.h (h_errno): - Only define as a macro if __UCLIBC_HAS_THREADS__ is defined. - (__set_h_errno): Just assign to `h_errno' (which will be expanded to the - thread-friendly version when appropriate). + * libc/stdlib/malloc/heap_debug.c: Initial checkin. - * /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno.h (errno): - Only define as a macro if __UCLIBC_HAS_THREADS__ is defined. - (__set_errno): Just assign to `errno' (which will be expanded to the - thread-friendly version when appropriate). + * libc/stdlib/malloc/heap.h, libc/stdlib/malloc/malloc.c, libc/stdlib/malloc/malloc.h: + Update debugging hooks. -2002-08-16 Erik Andersen +2002-09-06 Erik Andersen - * /var/cvs/uClibc/Rules.mak, /var/cvs/uClibc/include/netdb.h, /var/cvs/uClibc/include/resolv.h, /var/cvs/uClibc/libc/inet/rpc/rcmd.c, /var/cvs/uClibc/libc/sysdeps/linux/common/bits/errno.h, /var/cvs/uClibc/libc/sysdeps/linux/i386/syscall.S, /var/cvs/uClibc/libc/sysdeps/linux/i386/vfork.S, /var/cvs/uClibc/libc/sysdeps/linux/mips/bits/errno.h: - Replace all instances of _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__ + * libm/fpmacros.c: + Add in some weak aliases to allow C99 apps to compile w/o defining + _ISOC99_SOURCE, per what glibc does. -Erik - * /var/cvs/uClibc/Makefile: Remove h8300 special case +2002-09-05 tobiasa -2002-08-16 miles + * ldso/ldso/readelflib1.c: + Fixed another address alignment where a pagesize of 4k were assumed. - * /var/cvs/uClibc/Makefile (headers): - Remove special case for v850, now that the general case - works correctly for non-MMU systems without a `nommu' suffix. - Fixup indentation a bit. +2002-09-05 Erik Andersen -2002-08-15 Manuel Novoa III + * libc/stdlib/malloc-930716/malloc.c, libc/stdlib/malloc-930716/malloc.h, libc/stdlib/malloc-930716/memalign.c, libc/stdlib/malloc-930716/realloc.c, libc/stdlib/malloc-930716/Makefile: + split-out memalign and realloc + -Erik + +2002-09-05 miles - * /var/cvs/uClibc/libm/e_atan2.c: Fix erroneous grouping. + * Makefile, extra/scripts/gen_bits_syscall_h.sh, libc/sysdeps/linux/alpha/Makefile, libc/sysdeps/linux/alpha/bits/syscalls.h, libc/sysdeps/linux/arm/Makefile, libc/sysdeps/linux/arm/bits/.cvsignore, libc/sysdeps/linux/arm/bits/syscalls.h, libc/sysdeps/linux/h8300/bits/.cvsignore, libc/sysdeps/linux/h8300/bits/syscalls.h, libc/sysdeps/linux/i386/Makefile, libc/sysdeps/linux/i386/bits/.cvsignore, libc/sysdeps/linux/i386/bits/syscalls.h, libc/sysdeps/linux/i960/Makefile, libc/sysdeps/linux/i960/bits/syscalls.h, libc/sysdeps/linux/m68k/Makefile, libc/sysdeps/linux/m68k/bits/.cvsignore, libc/sysdeps/linux/m68k/bits/syscalls.h, libc/sysdeps/linux/mips/Makefile, libc/sysdeps/linux/mips/bits/.cvsignore, libc/sysdeps/linux/mips/bits/syscalls.h, libc/sysdeps/linux/powerpc/Makefile, libc/sysdeps/linux/powerpc/README.bits, libc/sysdeps/linux/powerpc/bits/.cvsignore, libc/sysdeps/linux/powerpc/bits/syscalls.h, libc/sysdeps/linux/sh/Makefile, libc/sysdeps/linux/sh/bits/.cvsignore, libc/sysdeps/linux/sh/bits/syscalls.h, libc/sysdeps/linux/sparc/Makefile, libc/sysdeps/linux/sparc/bits/.cvsignore, libc/sysdeps/linux/sparc/bits/syscalls.h, libc/sysdeps/linux/v850/Makefile, libc/sysdeps/linux/v850/vfork.S, libc/sysdeps/linux/v850/bits/.cvsignore, libc/sysdeps/linux/v850/bits/syscalls.h: + Change to . -2002-08-15 Erik Andersen +2002-09-04 sjhill - * /var/cvs/uClibc/include/stdlib.h, /var/cvs/uClibc/libc/stdlib/drand48-iter.c, /var/cvs/uClibc/libc/stdlib/srand48_r.c: - Patch from Jarkko to fix drand48 to not use long long when - long long support is disabled in the uClibc Config. + * libc/sysdeps/linux/mips/Makefile, libc/sysdeps/linux/mips/__uClibc_syscall.S, libc/sysdeps/linux/mips/syscall.S: + 'syscall' now properly works for MIPS. - * /var/cvs/uClibc/Makefile: - Do not prevent people from making mmu-less builds on mmu-full systems. +2002-09-04 Erik Andersen + + * libc/stdlib/Makefile, libc/stdlib/malloc-930716/Makefile, libc/stdlib/malloc-930716/malloc.c, libc/stdlib/valloc.c: + Make sjhill happy, and revive memalign -Erik -2002-08-14 miles +2002-09-04 sjhill + + * libc/sysdeps/linux/common/bits/ipc.h, libc/sysdeps/linux/common/bits/msq.h: + Fixed 'struct ipc_perm' and 'struct msqid_ds' members to allow the Linux + Test Project to compile as well as be consistent with the architecture + specific files. Maybe eventually the architecture specific files could + be removed all together. - * /var/cvs/uClibc/libc/stdlib/malloc/free.c: - Use __malloc_unlikely instead of `likely'. + * libc/stdlib/Makefile, libc/stdlib/malloc-930716/Makefile, libc/stdlib/malloc-930716/valloc.c, libc/stdlib/valloc.c: + Per discussions with Erik, 'valloc.c' should be built on top of whichever + memory allocator you choose. Unfortunately, the 'malloc-930716' needs a + fair amount of work before it is functional. For now, changes have been + made to add the 'valloc' call and it works properly with the plain 'malloc' + allocator. - * /var/cvs/uClibc/libc/stdlib/malloc/malloc.c: - Add flow-control hints with __malloc_likely and __malloc_unlikely. + * libc/stdlib/malloc-930716/Makefile, libc/stdlib/malloc-930716/valloc.c: + Added 'valloc' back in. Ok, Erik can smack me now. - * /var/cvs/uClibc/libc/stdlib/malloc/malloc.h (__malloc_likely, __malloc_unlikely): - New macros. + * libc/sysdeps/linux/common/syscalls.c: + Add syscalls: modify_ldt _sysctl setresuid getresuid setresgid getresgid - * /var/cvs/uClibc/libc/stdlib/malloc/realloc.c: - Handle zero NEW_SIZE case. + * libc/stdlib/Makefile, libc/stdlib/mkdtemp.c: + Added function 'mkdtemp' for Linux Test Project. - * /var/cvs/uClibc/libc/sysdeps/linux/v850/Makefile (CSRC): - Add syscall.c + * libc/sysdeps/linux/common/Makefile, libc/sysdeps/linux/common/getdirname.c, include/unistd.h: + Added function 'get_current_dir_name' for Linux Test Project. Tested and + works identically to function in glibc. - * /var/cvs/uClibc/libc/sysdeps/linux/v850/syscall.c: Initial checkin. +2002-09-04 miles -2002-08-14 Erik Andersen + * libc/stdlib/malloc/free.c: (free): + Update debug statement. + Update to use __heap_delete and __heap_is_empty. - * /var/cvs/uClibc/test/malloc/.cvsignore, /var/cvs/uClibc/test/malloc/Makefile, /var/cvs/uClibc/test/malloc/malloc.c, /var/cvs/uClibc/test/malloc/mallocbug.c, /var/cvs/uClibc/test/malloc/testmalloc.c, /var/cvs/uClibc/test/stdlib/.cvsignore, /var/cvs/uClibc/test/stdlib/Makefile, /var/cvs/uClibc/test/stdlib/mallocbug.c, /var/cvs/uClibc/test/stdlib/testmalloc.c: - Move all malloc tests under test/malloc/ + * libc/stdlib/malloc/heap.h (__heap_delete): + Renamed from `__heap_unlink_free_area'. + (__heap_free_area_alloc): Use __heap_delete. + (__heap_is_empty): New macro. + +2002-09-03 Erik Andersen + + * libc/misc/statfs/Makefile, libc/misc/statfs/fstatvfs64.c, libc/misc/statfs/statvfs64.c: + Support fstatvfs64 and statvfs64 + -Erik - * /var/cvs/uClibc/include/thread_db.h: - Add missing include/thread_db.h file, as reported by Simon Posnjak + * libc/misc/statfs/fstatvfs.c, libc/misc/statfs/statvfs.c: + Oops. Turns out I broke statvfs() and fstatvfs() back in February, + when I accidentally changed them unconditionally into the 64 bit + versions... Oops. -Erik -2002-08-13 Manuel Novoa III +2002-08-30 miles + + * libc/sysdeps/linux/v850/bits/kernel_stat.h: + Redo stat structures (kernel changed too). + + * libc/sysdeps/linux/v850/bits/kernel_types.h: Add __kernel_ino64_t. + Make __kernel_loff_t unconditional. + +2002-08-30 aaronl + + * README: CFLAGS+=-D__FORCE_NOGLIBC, not CFLAGS+=__FORCE_NOGLIBC + Change a than to then + +2002-08-30 miles + + * libc/stdlib/malloc/heap_free.c: Doc fix. - * /var/cvs/uClibc/libc/stdio/printf.c, /var/cvs/uClibc/libc/stdio/scanf.c, /var/cvs/uClibc/libc/stdio/stdio.c: - __fsetlocking() and FILE field user_locking were completely broken. :-( - I think they're fixed now (I've run a few tests). - Note: __fsetlocking() is not threadsafe... but glibc's doesn't appear to - be either. + * libc/stdlib/malloc/heap_free.c (__heap_free): + Tighten up the inner loop, and make the code more readable. -2002-08-13 miles + * libc/stdlib/malloc/free.c, libc/stdlib/malloc/malloc.c: + Use `likely' & `unlikely' instead of the `__malloc_'-prefixed versions. + + * libc/stdlib/malloc/heap.h (likely, unlikely): New macros. + + * libc/stdlib/malloc/malloc.h (likely, unlikely): New macros. + (__malloc_likely, __malloc_unlikely): Macros removed. + +2002-08-28 Erik Andersen + + * libc/sysdeps/linux/v850/bits/syscalls.h, libc/sysdeps/linux/sparc/bits/syscalls.h, libc/sysdeps/linux/powerpc/bits/syscalls.h, libc/sysdeps/linux/m68k/bits/syscalls.h, libc/sysdeps/linux/h8300/bits/syscalls.h, libc/sysdeps/linux/i960/bits/syscalls.h, libc/sysdeps/linux/alpha/bits/syscalls.h: + Fix a silly bug notices by Ronald Wahl + +2002-08-28 davidm + + * libc/sysdeps/linux/common/Makefile: + If the initfini.pl script changes, regenerate the crt[in].S files. + +2002-08-28 Erik Andersen + + * libc/sysdeps/linux/common/syscalls.c: + Fix broken getpriority syscall, per email from Marshall M. Midden + -Erik + + * docs/uclibc.org/index.html: fix grammar + +2002-08-27 Erik Andersen - * /var/cvs/uClibc/libc/stdlib/malloc/free.c: - Use `return' for null pointers, to avoid a giant block holding the rest - of the function. + * Changelog.full: Final update diff --git a/Rules.mak b/Rules.mak index db1f15441..d63ff55b5 100644 --- a/Rules.mak +++ b/Rules.mak @@ -52,7 +52,7 @@ NATIVE_CFLAGS=-O2 -Wall # this stuff alone. MAJOR_VERSION:=0 MINOR_VERSION:=9 -SUBLEVEL:=15 +SUBLEVEL:=16 VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL) # Ensure consistent filename sort order LC_COLLATE:= C diff --git a/docs/uclibc.org/index.html b/docs/uclibc.org/index.html index 668373837..f1786c7d7 100644 --- a/docs/uclibc.org/index.html +++ b/docs/uclibc.org/index.html @@ -112,120 +112,81 @@ you might want to search the mailing list archives...

    -

  • 16 September 2002, gcc-3.2 and gcc-2.95 toolchains released +
  • 8 November 2002, uClibc 0.9.16 Released
    - CodePoet Consulting (i.e. Erik) has released updated gcc-3.2 and gcc-2.95 - uClibc toolchains. These toolchains build real gcc cross compilers (i.e. - not just a wrapper) and create executables linked vs uClibc. The new - gcc-3.2 provides uClibc support with the latest and greatest compiler - available from the gcc team. The gcc-2.95 toolchain has been updated to - the latest version of uClibc and now provides full C++ support, using the - STLport standard C++ library. + CodePoet Consulting is pleased to announce the immediate availability of + uClibc 0.9.16. This release adds full support (including a native shared + library loader) for the CRIS architecture, contributed by Tobias Anderberg. + Stefan Allius contributed a number of patches to fix the initialization + order for shared library global constructors and destructors as well as a + large number of SuperH fixes and cleanups. uClibc now compiles with + newer versions of gcc (i.e. RedHat 8.0). Thanks to Christian Michon, + uClibc no longer requires perl to compile. Steven J. Hill fixed dlopen for + mips. Several problems with pty and tty handling were fixed. Manuel Novoa + added new support for an /etc/TZ file to globally set the system timezone, + and fixed up a number of remaining wide char issues. Manuel is still hard + at work on bringing full locale support (optional of course) to uClibc. + And of course, this release includes the usual pile of bug fixes. Many thanks + for the large number of patches and fixes that were contributed!

    - This toolchain should make it easy for anyone to build uClibc based - applications. - Source code can be downloaded here. - Be aware that much of the needed source code will actually be downloaded on - when you compile the toolchains. To build a toolchain, simply - grab the source, edit the Makefile to select where you would like - the toolchain installed, run 'make', and then go watch TV, eat - dinner, or visit with your friends while it compiles. It takes - about 15 minutes for Erik to compile the gcc-3.2 toolchain (w/C++ support) - on his Athlon XP 1600 (not counting the time it takes to download - source code). + Erik and Manuel have been working on a + + document describing some of the differences between uClibc and glibc. + It's not yet 100% complete, and it hasn't been nicely formatted yet. But + it contains a lot of helpful information and is worth a look.

    - + And finally, the the old uClibc configuration system has been completely + removed (and there was much rejoicing). It was replaced with an entirely + new system based on LinuxKernelConf, + which has since been included into Linux 2.5.45, so it looks like Erik made + the right choice. Of course, those who have existing build systems using uClibc + will need to make a few changes... We think the change is worth it.

    -

  • 27 August 2002, uClibc 0.9.15 Released -
    - - CodePoet Consulting is pleased to announce the immediate availability - of uClibc 0.9.15. This release fixes a number of problems that turned - up since the last release. The good news is that uClibc now - passes all tests in the perl 5.8 and Python 2.2.1 test suites, both with - and without pthreads. So without any further ado.... -

    - The + As usual, the Changelog - and source code + and source code for this release are available here. + You might want to download uClibc from the closest + kernel.org mirror site. + Just pick the closest mirror site, and then go to + + http://www.kernel.org/pub/linux/libs/uclibc/ + to download uClibc, where XX is your two letter country code.

    - Have fun! + Updated gcc-3.2 and gcc-2.95 toolchains will be released shortly.

    - -

    -

  • 12 August 2002, uClibc 0.9.14 Released -
    - CodePoet Consulting is slightly less pleased then usual to announce the - immediate availability of uClibc 0.9.14. This is, unfortunately, a bugfix - release intended to fix the couple of dumb things that slipped into the - previous release. Version 0.9.13 of uClibc would fail to compile when - enabling both RPC and Pthreads. There was also a problem with RPC thread - local storage (but noone noticed since it didn't compile ;-). Also, the - thread locking in exit(), onexit() and atexit() was broken, and wasn't - actually locking anything. This release also fixes uClibc's gcc wrapper - to use crtbeginS.o and crtendS.o when compiling PIC code, fixing a subtle - bug (that was much less subtle on powerpc). Finally, this release includes a - few minor compile warning cleanups.

    - The - Changelog - and source code - for this release are available here. -

    - Have fun! -

    - - -

  • 12 August 2002, Native uClibc/gcc-3.1.1 toolchain released +
  • 16 September 2002, gcc-3.2 and gcc-2.95 toolchains released
    - CodePoet Consulting (i.e. Erik) has released an updated native - uClibc/gcc-3.1.1 toolchain. This toolchain builds a real gcc cross - compiler (i.e. not just a wrapper) and creates executables linked vs - uClibc. This toolchain has been (briefly) tested as working on x86, arm, - mips, and arm7tdmi (uClinux). This toolchain provides a number of - improvements over previous releases. In particular, Steven J. Hill found - and fixes a number of "glibc-isms" in the libstdc++ math support which - caused a number of math functions to be mapped to the non-standard named - under GNU libc. This release also includes greatly improved uClinux - "elf2flt" support, and it now produces working flat binaries for my - uClinux/arm7tdmi system. The native uClibc/gcc-2.95 toolchain will be - updated in a few days, and will include STLport which will allow that - toolchain to also provide full C++ support. + CodePoet Consulting (i.e. Erik) has released updated gcc-3.2 and gcc-2.95 + uClibc toolchains. These toolchains build real gcc cross compilers (i.e. + not just a wrapper) and create executables linked vs uClibc. The new + gcc-3.2 provides uClibc support with the latest and greatest compiler + available from the gcc team. The gcc-2.95 toolchain has been updated to + the latest version of uClibc and now provides full C++ support, using the + STLport standard C++ library.

    This toolchain should make it easy for anyone to build uClibc based - applications. + applications. Source code can be downloaded here. Be aware that much of the needed source code will actually be downloaded on - demand when you compile things. To build the toolchain, simply + when you compile the toolchains. To build a toolchain, simply grab the source, edit the Makefile to select where you would like the toolchain installed, run 'make', and then go watch TV, eat dinner, or visit with your friends while it compiles. It takes - about 15 minutes for Erik to compile the gcc-3.1.1 toolchain (w/C++ support) + about 15 minutes for Erik to compile the gcc-3.2 toolchain (w/C++ support) on his Athlon XP 1600 (not counting the time it takes to download - source code). Your results may vary... + source code).

    -

  • 9 August 2002, uClibc now mirrored on kernel.org! -
    - uClibc is now available from the kernel.org mirrors! This should make - uClibc downloads much faster. The kernel.org mirrors will have all - uClibc release versions (everything but the daily snapshots). - Here is a list of all the kernel.org mirror sites. - Just pick the closest mirror site, and then go to "/pub/linux/libs/uclibc/" - to download uClibc. For example, is you live the USA, you can go to - - http://www.us.kernel.org/pub/linux/libs/uclibc/ to download the latest - uClibc release from a nice fast system. -

    -

    +

  • Old News
    @@ -308,12 +269,15 @@ you might want to search the mailing list archives...
  • Source for the latest release can always be downloaded from http://www.uclibc.org/downloads -
  • A new snapshot of the source is made daily and is available - here +
  • A daily snapshot of the source is + available for those wishing to follow uClibc developments, but cannot + or do not wish to use CVS. + +
  • uClibc has a publically browsable CVS tree. -
  • uClibc has its own publically browsable CVS tree - with anonymous CVS access, and for those that are actively - contributing there is even CVS write access. +
  • Anonymous CVS access is available to let you track development. +
  • CVS write access is also available for those that are actively + contributing.
@@ -330,6 +294,9 @@ you might want to search the mailing list archives... + +I am currently aware of the following open source C libraries. +
    @@ -365,6 +332,9 @@ you might want to search the mailing list archives...
  • The uClibc home page

    +

  • The uClibc CVS tree +

    +

  • BusyBox

    diff --git a/docs/uclibc.org/old-news.html b/docs/uclibc.org/old-news.html index 9478c701e..047b2fd8b 100644 --- a/docs/uclibc.org/old-news.html +++ b/docs/uclibc.org/old-news.html @@ -53,6 +53,95 @@

      +

      +

    • 27 August 2002, uClibc 0.9.15 Released +
      + + CodePoet Consulting is pleased to announce the immediate availability + of uClibc 0.9.15. This release fixes a number of problems that turned + up since the last release. The good news is that uClibc now + passes all tests in the perl 5.8 and Python 2.2.1 test suites, both with + and without pthreads. So without any further ado.... +

      + The + Changelog + and source code + for this release are available here. +

      + Have fun! +

      + + +

      +

    • 12 August 2002, uClibc 0.9.14 Released +
      + + CodePoet Consulting is slightly less pleased then usual to announce the + immediate availability of uClibc 0.9.14. This is, unfortunately, a bugfix + release intended to fix the couple of dumb things that slipped into the + previous release. Version 0.9.13 of uClibc would fail to compile when + enabling both RPC and Pthreads. There was also a problem with RPC thread + local storage (but noone noticed since it didn't compile ;-). Also, the + thread locking in exit(), onexit() and atexit() was broken, and wasn't + actually locking anything. This release also fixes uClibc's gcc wrapper + to use crtbeginS.o and crtendS.o when compiling PIC code, fixing a subtle + bug (that was much less subtle on powerpc). Finally, this release includes a + few minor compile warning cleanups. +

      + The + Changelog + and source code + for this release are available here. +

      + Have fun! +

      + + +

    • 12 August 2002, Native uClibc/gcc-3.1.1 toolchain released +
      + + CodePoet Consulting (i.e. Erik) has released an updated native + uClibc/gcc-3.1.1 toolchain. This toolchain builds a real gcc cross + compiler (i.e. not just a wrapper) and creates executables linked vs + uClibc. This toolchain has been (briefly) tested as working on x86, arm, + mips, and arm7tdmi (uClinux). This toolchain provides a number of + improvements over previous releases. In particular, Steven J. Hill found + and fixes a number of "glibc-isms" in the libstdc++ math support which + caused a number of math functions to be mapped to the non-standard named + under GNU libc. This release also includes greatly improved uClinux + "elf2flt" support, and it now produces working flat binaries for my + uClinux/arm7tdmi system. The native uClibc/gcc-2.95 toolchain will be + updated in a few days, and will include STLport which will allow that + toolchain to also provide full C++ support. +

      + + This toolchain should make it easy for anyone to build uClibc based + applications. + Source code can be downloaded here. + Be aware that much of the needed source code will actually be downloaded on + demand when you compile things. To build the toolchain, simply + grab the source, edit the Makefile to select where you would like + the toolchain installed, run 'make', and then go watch TV, eat + dinner, or visit with your friends while it compiles. It takes + about 15 minutes for Erik to compile the gcc-3.1.1 toolchain (w/C++ support) + on his Athlon XP 1600 (not counting the time it takes to download + source code). Your results may vary... +

      + +

    • 9 August 2002, uClibc now mirrored on kernel.org! +
      + uClibc is now available from the kernel.org mirrors! This should make + uClibc downloads much faster. The kernel.org mirrors will have all + uClibc release versions (everything but the daily snapshots). + Here is a list of all the kernel.org mirror sites. + Just pick the closest mirror site, and then go to "/pub/linux/libs/uclibc/" + to download uClibc. For example, is you live the USA, you can go to + + http://www.us.kernel.org/pub/linux/libs/uclibc/ to download the latest + uClibc release from a nice fast system. +

      +

      +

    • 9 August 2002, uClibc 0.9.13 Released
      -- cgit v1.2.3