2001-05-17 Joel Sherrill * libc/envlock.c: Implemented code to let newlib's envlock share the libio open/close mutex. Since both should be lightly used, this should not lead to problems and saves resources. 2002-05-15 Chris Johns * libc/newlibc.c: Per PR141, move the C library re-enterrant support directly into the thread dispatch code. RTEMS needs libc and so requiring libc to use a user extension with its overhead is not the best solution. This patch lowers the overhead to 2 pointer moves. 2001-05-15 Joel Sherrill * libc/Makefile.am: envlock.c should only be built for embedded targets using newlib. 2001-05-14 Till Straumann * Per PR212, added envlock support for newlib. This is used by at least getenv()/putenv() to avoid race conditions. * libc/envlock.c: New file. * libc/Makefile.am: Modified to reflect above. 2002-05-03 Ralf Corsepius * include/Makefile.am: Remove. * include/sys/utsname.h: Added, removed times (now in newlib). * Makefile.am: Merge include/Makefile.am * libc/utsname.c: Relocated from posix/src. * libc/Makefile.am: Reflect changes above. * configure.ac: Remove include/Makefile 2002-05-14 Ralf Corsepius * include/sys/ioctl.h: Relocated from libnetworking/sys. * include/sys/filio.h: Relocated from libnetworking/sys. * include/sys/sockio.h: Relocated from libnetworking/sys. * include/Makefile.am: Reflect changes above. * configure.ac: Take out *NETWORKING*. 2001-04-26 Joel Sherrill * libc/gxx_wrappers.c: Fix to keep prototype same as in gcc and remove warning. 2002-04-17 Ralf Corsepius * libc/scandir.c: Initialize nitems = 0. 2002-04-16 Ralf Corsepius * include/Makefile.am: Add stdint.h and inttypes.h. (reported by Mike Siers ) * include/stdint.h: New file. * include/inttypes.h: New file. 2002-04-06 Ralf Corsepius * libc/stat.c: include . * libc/printk.c: Remove libcpu/cpu.h. 2002-04-02 Ralf Corsepius * libc/ctermid.c: Include . * libc/ttyname.c: Ditto. * libc/ttyname_r.c: Ditto. 2002-03-27 Ralf Corsepius * configure.ac: AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). AM_INIT_AUTOMAKE([no-define foreign 1.6]). * include/Makefile.am: Remove AUTOMAKE_OPTIONS. * Makefile.am: Remove AUTOMAKE_OPTIONS. * libc/Makefile.am: Remove AUTOMAKE_OPTIONS. 2001-03-20 Joel Sherrill * PR143 * lib/include/rtems/termiostypes.h: Removed unneeded volatile on "theBuf" since no byte is read more than once anyway. 2002-03-01 Eric Norum * libc/gxx_wrappers.c: Task is not preemptable while running a pthread_once init function. This is slightly less heavy handed than disabling dispatching and seems better than consuming a mutex. 2001-01-31 Mike Siers * Nice Update of PPPD support which eliminates the requiremetn that drivers be in the termios TASK_DRIVEN mode. Mike did significant testing and reports that it seems to be more stable and handle larger packets better. This patch replaces the termios tasks with more general pppd network driver tasks. The functions pppinput() and pppstart() get called from the interrupt service routine. * libc/termios.c: Added PPCDISC. 2002-02-09 Ralf Corsepius * include/rtems/libio.h: Add #include . Reflect changes due to using rtems/fs.h. * include/rtems/libio_.h: Reworked. 2002-02-07 Ralf Corsepius * libc/gxx_wrappers.c: Add #include . 2002-02-05 Ralf Corsepius * libc/Makefile.am: Add MULTISUBDIR support. * libc/fcntl.c: Add #include . * libc/privateenv.c: Add #include . 2002-01-04 Ralf Corsepius * include/rtems/libio_.h: Remove set_errno_and_return_minus_one. * libc/cfsetispeed.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/cfsetospeed.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/chdir.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/chmod.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/chown.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/chroot.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/closedir.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/eval.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fchdir.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fchmod.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fdatasync.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fpathconf.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fstat.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/fsync.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/ftruncate.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/getdents.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/ioctl.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/link.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/lseek.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/mknod.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/open.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/read.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/readlink.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/rmdir.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/stat.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/symlink.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/tcsetattr.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/telldir.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/ttyname.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/ttyname_r.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/unlink.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/unmount.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/utime.c: Include . Apply rtems_set_errno_and_return_minus_one. * libc/write.c: Include . Apply rtems_set_errno_and_return_minus_one. 2002-01-03 Ralf Corsepius * libc/printk.c: Include rtems/bspIo.h instead of bspIo.h. * include/Makefile.am: Remove bspIo.h. * include/bspIo.h: Removed. 2001-11-30 Jennifer Averett This was tracked as PR88. * libc/scandir.c: Fixed to perform cleanup on error conditions. 2001-11-07 Jennifer Averett Reported by Ibragimov Ilya and tracked as PR63. * libc/chdir.c: Check for search/execute permissions on chdir. This requires passing RTEMS_LIBIO_PERMS_SEARCH to rtems_filesystem_evaluate_path(). 2001-10-26 Joel Sherrill * libc/libio.c: Cleanup of initialization per suggestion from Eric Norum. 2001-10-25 Jennifer Averett * libc/unmount.c: Primarily restructuring and clean up to address procedures which did not do what their name implied. Also addressed problem situation where unmount fails and the filesystem was inconsistent. The mounted filesystem could have been left hanging. 2001-10-25 Jennifer Averett * libc/libio.c: Initialize more fields to NULL/0 during initialiation. * include/rtems/libio_.h: Fix freenode macro so it works for sockets which do not have the full set of filesystem operations and are initialized via something other than open(). 2001-10-18 Till Straumann * libc/open.c, libc/close.c: Moved freenode from open to close. 2001-10-17 Till Straumann * These changes were discussed and reviewed by many people but the primary people were Jennifer Averett and Eugeny Mints . * libc/utime.c: Add missing call to rtems_filesystem_freenode() at verification that utime is supported by the filesystem. * libc/link.c: Remove calls to freenode when the node was not successfully allocated. * libc/unmount.c: In the method file_systems_below_this_mountpoint() added calls to correctly free fs_root_loc when a failure occurs. * libc/open.c: Add freenode calls upon failure. * libc/open.c, lib/libc/close.c: (PENDING -- NOT INCLUDED THIS TIMER) Modifications the move the freenode from open() to close() (also part of this patch) are pending further discussion. 2001-10-16 Ralf Corsepius * include/zilog/Makefile.am: Remove. * include/motorola/Makefile.am: Remove. * include/sys/Makefile.am: Remove. * include/rtems/Makefile.am: Remove. * include/Makefile.am: Handle subdirs, require automake-1.5 * Makefile.am: Require automake-1.5. 2001-10-12 Joel Sherrill * include/chain.h: Fixed typo. 2001-10-11 Mike Siers * libc/termios.c: Fixed a memory leak in the termios software. Basically the tty open function was allocating an input raw buffer, an output raw buffer, and a cooked buffer that were not getting released. I have attached a patch for the latest snapshot. The patch also has a fix to ensure the tty link list is updated correctly when a tty is closed. 2001-10-11 Ralf Corsepius * .cvsignore: Add autom4te.cache for autoconf > 2.52. * configure.in: Remove. * configure.ac: New file, generated from configure.in by autoupdate. 2001-10-10 Joel Sherrill * libc/printk.c (printNum): Properly handle a maxwidth of 0 as reported by Nick Hennenfent . 2001-09-28 Ralf Corsepius * include/zilog/Makefile.am: Use 'PREINSTALL_FILES ='. * include/motorola/Makefile.am: Use 'PREINSTALL_FILES ='. * include/sys/Makefile.am: Use 'PREINSTALL_FILES ='. * include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='. * include/Makefile.am: Use 'PREINSTALL_FILES ='. 2001-09-22 Ralf Corsepius * include/sys/Makefile.am: Use = instead of += to setup NETWORKING_H_FILES and NEWLIB_H_FILES. 2001-09-22 Ralf Corsepius * libc/Makefile.am: Revamp INCLUDES handling to make automake-1.5 happy. 2001-09-14 Eric Norum * libc/gxx_wrappers.c: Modifications to make gcc 3.x happy. 2001-08-17 Joel Sherrill * include/rtems/libio_.h: Added ifdef to ensure that LOGIN_NAME_MAX is defined on GNU/Linux (RedHat 6.2 distribution). * libc/unixlibc.c: Added stubs for rtems_io_register_name() and rtems_io_lookup_name() so UNIX port would compile the IO manager sptest that registers /dev/null. 2001-08-10 Radzislaw Galler * score/cpu_asm.c (sh_set_irq_priority): Changed interrupt vector number range check and handling of interrupt priority regs to conform SH2 specs. * sci/sci_termios.c: New file. * include/sci_termios.h: New file. * include/Makefile.am (EXTRA_DIST): Added sci_termios.h. (include_sh_HEADERS): Added sci_termios.h. * score/ispsh7045.c (isp): Calling an ISR with immediate argument casued negative sign extension for vector numbers of 128 and above. This was fixed. * sci/sci.c: Cleaned initialization of SCI registers; added necessary setup for new TERMIOS console cooperation 2001-08-16 Joel Sherrill * libc/lseek.c: Modified after discussion with Eugeny S. Mints to correct the behavior. There were two mistakes. First, iop->offset was incorrectly set for SEEK_END. Second, iop->offset should be left unmodified if there are errors. This modification attempts to fix both situations. 2001-08-16 Mike Siers * include/rtems/termiostypes.h, include/sys/ioccom.h: Update of PPPD to 2.3.11 from 2.3.5 touched these files. 2001-08-16 Mike Siers * libc/termios.c: Fix a bug in the termios implementation in the following scenario: The General Terminal Interface document that me states that if VMIN = 0 and VTIME = 0, then read() should return the minimum of two values: a) number of bytes available b) number of bytes requested (I assume from the read call) The current implementation of the fillBufferQueue() in termios.c is always return 1 character with these setting values. I know the termios buffer has more than one character available and my read() call is requesting 1024 bytes. 2001-08-09 Fernando-Ruiz Casas * libc/getgrent.c, libc/getpwent.c: the 'ls' and more related command previous failed after a chroot(). (unknown user & group) 2001-08-03 Joel Sherrill * libc/libio_sockets.c (rtems_bsdnet_fdToSocket): Per bug report from Gene Smith , enhanced the error checking to account for a socket being closed. 2001-05-25 Joel Sherrill * libc/base_fs.c: Deleted chmod() now that IMFS creates the root node with the desired permissions. chmod() is also not supported by the miniIMFS so this is not allowable. 2000-05-24 Fernando Ruiz Casas * include/rtems/libio_.h: Added login name, uid, gid, euid, and egid so they can be part of the private environment. 2000-05-24 Fernando Ruiz Casas * libc/ttyname.c (ttyname_r): Removed duplicate call to closedir(). * libc/getpwent.c: Create a more robust /etc/passwd and /etc/group. * libc/base_fs.c: Change permissions of files and directories. Now uses octal constants. 2001-05-11 Joel Sherrill * libc/write.c: Change type of rc to match return type from underlying function per report from Eric Norum. 2001-04-27 Ralf Corsepius * configure.in: Add [-ansi -fasm] to RTEMS_PROG_CC_FOR_TARGET. 2001-04-24 Joel Sherrill * libc/libio.c (rtems_libio_allocate): Make sure size and offset fields are cleared on each file open. Before this field was cleared, this resulted in the value from the last time that IOP was used being still in place. Discovered by Andrew Bythell . * libc/open.c: Remove redundant setting of iop->offset. 2001-04-20 Correo Fernando-ruiz * include/rtems/libio_.h, libc/chroot.c, libc/privateenv.c: Private environment and chroot() enhancements and fixes. Comments: + privateenv has been modified to let at chroot() to be more POSIX like Sergei Organov recommended. + A task owner lets that rtems_set_private_env() will be called twice or more times. + chroot() can be called without a previous rtems_set_private_env(); (transpanrently) + The second call of rtems_set_private_env() makes a internal chroot("/") into global imfs_root. + chroot() runs like chdir() without a previous chdir("/") with the global root. + The current directory can be in a wrong place like Linux and many other Unices. 2001-04-16 Joel Sherrill * include/rtc.h: New file. * include/Makefile.am: Updated to reflect above. 2001-02-06 Joel Sherrill * include/ioccom.h: Unreferenced and thus removed. 2001-02-03 Ralf Corsepius * include/zilog/Makefile.am, include/Makefile.am, include/motorola/Makefile.am, include/sys/Makefile.am include/rtems/Makefile.am: Apply include_*HEADERS instead of H_FILES. 2001-01-26 Joel Sherrill * libc/chroot.c: Fixed naming problems. Names were changed when the code this depends on was merged. 2001-01-25 Fernando Ruiz * Alternate email is correo@fernando-ruiz.com * libc/chroot.c: New file. * libc/Makefile.am: Reflect above. 2001-01-25 Fernando Ruiz * Alternate email is correo@fernando-ruiz.com * libc/privateenv.c: New file. * include/rtems/libio_.h, libc/Makefile.am, libc/base_fs.c, libc/unmount.c: Moved default umask, current working directory, root, and links followed count into a structure "user environment" that can then be treated as a unit. This enable giving unique copies of these to individual threads or collection of threads. 2001-01-05 Ralf Corsepius * configure.in: Add libc/config.h * libc/Makefile.am: Add INCLUDES += -I. to pickup config.h * libc/.cvsignore: Add config.h and stamp-h * libc/*.c: Add config.h support. 2000-12-06 Joel Sherrill * libc/mallocfreespace.c: Name of routine is rtems_region_get_information() NOT region_get_information(). * libc/unmount.c: Removed unused variable. 2000-11-30 Joel Sherrill * include/rtems/Makefile.am: Added termiostypes.h. * libc/Makefile.am: Removed termiostypes.h. * libc/termios.c: Changed include of "termiostypes.h" to since that is an RTEMS specific header file. 2000-11-29 Joel Sherrill * include/sys/ttycom.h: New file -- moved from libnetworking/sys. * Makefile.am: Modified to reflect above. 2000-11-28 Sergei Organov * libc/getcwd.c: Ensure _closedir(dir) is called even on error exit from the routine. 2000-11-25 Antti P Miettinen * libc/termios.c, libc/termiostypes.h: Task driver driver model and line discipline support from Thomas Doerfler . 2000-11-20 Dmitry Kargapolov * libc/mount.c: Make sure there is space allocated for a device name in the mount table entry. 2000-11-17 Jennifer Averret * libc/mount.c (search_mt_for_mount_point): Deleted routine. * libc/mount.c (Is_node_fs_root): Replacement for above that accounts for the imaginary root node being returned by the filesystem evaluation routine. * libc/unmount.c (unmount): Account for imaginary root node being returned and improved variable names to clarify code. * libc/unmount.c (file_systems_below_this_mountpoint): Body of routine replaced to account for imaginary root node being returned. 2000-11-10 Ralf Corsepius * libc/libio.c: Special treatment of O_NDELAY for Cygwin. 2000-11-09 Ralf Corsepius * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. 2000-11-02 Ralf Corsepius * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. 2000-11-01 Joel Sherrill * configure.in: Added include/rtems subdirectory. 2000-11-01 Joel Sherrill * include/Makefile.am, include/rtems/libio_.h, libc/Makefile.am, libc/assoc.c, libc/assocnamebad.c, libc/base_fs.c, libc/cfsetispeed.c, libc/cfsetospeed.c, libc/chdir.c, libc/chmod.c, libc/chown.c, libc/close.c, libc/closedir.c, libc/dup2.c, libc/error.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c, libc/fpathconf.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c, libc/getdents.c, libc/ioctl.c, libc/libio.c, libc/libio_sockets.c, libc/link.c, libc/lseek.c, libc/malloc.c, libc/mallocfreespace.c, libc/mknod.c, libc/mount.c, libc/newlibc.c, libc/no_libc.c, libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c, libc/tcsetattr.c, libc/telldir.c, libc/ttyname.c, libc/ttyname_r.c, libc/umask.c, libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c: assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved from libc to lib/include/rtems and now must be referenced as . * include/rtems/Makefile.am, include/rtems/.cvsignore: New file. * include/rtems/assoc.h, include/rtems/error.h, include/rtems/libcsupport.h, include/rtems/libio.h, include/rtems/libio_.h: New/moved files. 2000-10-26 Ralf Corsepius * configure.in: Remove bogus cfg_subdirs. * Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. Switch to GNU canonicalization. 2000-10-24 Joel Sherrill * libc/ioman.c: Moved to libfs. * libc/Makefile.am: Removed ioman.c as part of moving it to libfs. * libc/base_fs.c: Removed include of imfs.h and reworded comment to avoid being IMFS specific. * libc/libio.h: Removed prototype of IMFS_ops since it should not be in this file. * libc/mount.c: Removed IMFS specific configuration information. * libc/unmount.c: Removed include of imfs.h and reworded comment to avoid being IMFS specific. 2000-10-18 Chris Johns * libfs created. * libc/deviceio.c, libc/imfs_getchild.c, libc/imfs_readlink.c, libc/imfs.h, libc/imfs_gtkn.c, libc/imfs_rmnod.c, libc/imfs_chown.c, libc/imfs_handlers_device.c, libc/imfs_stat.c, libc/imfs_creat.c, libc/imfs_handlers_directory.c, libc/imfs_symlink.c, libc/imfs_debug.c, libc/imfs_handlers_link.c, libc/imfs_unixstub.c, libc/imfs_directory.c, libc/imfs_handlers_memfile.c, libc/imfs_unlink.c, libc/imfs_eval.c, libc/imfs_init.c, libc/imfs_unmount.c, libc/imfs_fchmod.c, libc/imfs_initsupp.c, libc/imfs_utime.c, libc/imfs_fcntl.c, libc/imfs_link.c, libc/memfile.c, libc/imfs_fdatasync.c, libc/imfs_mknod.c, libc/miniimfs_init.c, libc/imfs_free.c, libc/imfs_mount.c, libc/imfs_fsunmount.c, libc/imfs_ntype.c: Moved to libfs/src/imfs. * Makefile.am: Modified to reflect above. 2000-10-18 Joel Sherrill * libc/Makefile.am: Added mallocfreespace.c. * libc/mallocfreespace.c: New file based on work by Nick Simon which he included in malloc.c. * libc/libcsupport.h: Added prototype for malloc_free_space(). 2000-10-18 Joel Sherrill * libc/fcntl.c: Do not require every filesystem to have an fcntl() handler. Most fcntl() operations can be performed with no filesystem support. * ChangeLog: Corrected comment. 2000-09-28 Joel Sherrill * libc/libio.h (rtems_filesystem_file_handlers_r, rtems_filesystem_operations_table): Added _h to all structure fields to indicate they are "handlers". * libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c, libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c, libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c, libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c, libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c: Modified to reflect above name change. 2000-09-22 Joel Sherrill * libc/newlibc.c: Removed _A29K specific ifdef. 2000-09-05 Ralf Corsepius * configure.in: Cleanup comments. 2000-09-04 Ralf Corsepius * libc/Makefile.am: Include compile.am 2000-09-05 Joel Sherrill * libio.c: Added O_NONBLOCK to list of flags. 2000-08-30 Ralf Corsepius * configure.in: Remove libcpu and libbsp * Makefile.am: Remove libcpu and libbsp 2000-08-25 Joel Sherrill * libc/fs_null_handlers.c: Added missing rmnod entry. 2000-08-25 Joel Sherrill * libc/isatty.c, libc/imfs_handlers_directory.c, libc/creat.c, libc/imfs_directory.c: Fixed style issues. 2000-08-11 Chris Johns * libc/chmod.c: Return ENOTSUP if filesystem does not have handler. * libc/eval.c: Ditto. * libc/fcntl.c: Ditto. * libc/fsync.c: Ditto. * libc/ioctl.c: Ditto. * libc/ioman.c: Ditto. * libc/link.c: Ditto. * libc/mknod.c: Ditto. * libc/symlink.c: Ditto. * libc/libio.h(rtems_filesystem_dev_major_t): New macro. * libc/libio.h(rtems_filesystem_dev_minor_t): New macro. * libc/memfile.c: Deleted assert. Added code to properly handle appending to a file. 2000-08-10 Joel Sherrill * ChangeLog: New file.