summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2002-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-05-1799-9772/+0
| | | | * configure.ac: Remove lib.
* 2001-05-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-05-171-2/+28
| | | | | | * 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 <ccj@acm.org>Joel Sherrill2002-05-151-35/+6
| | | | | | | | * 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 <joel@OARcorp.com>Joel Sherrill2002-05-151-2/+3
| | | | | * libc/Makefile.am: envlock.c should only be built for embedded targets using newlib.
* 2001-05-14 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill2002-05-142-1/+85
| | | | | | | * 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 <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-05-141-5/+4
| | | | | | | | | | | * 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
* 2001-04-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-04-261-1/+1
| | | | | * libc/gxx_wrappers.c: Fix to keep prototype same as in gcc and remove warning.
* 2002-04-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-171-2/+1
| | | | * libc/scandir.c: Initialize nitems = 0.
* 2002-04-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-082-1/+1
| | | | | * libc/stat.c: include <string.h>. * libc/printk.c: Remove libcpu/cpu.h.
* 2002-04-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-033-0/+3
| | | | | | * libc/ctermid.c: Include <string.h>. * libc/ttyname.c: Ditto. * libc/ttyname_r.c: Ditto.
* 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-03-281-1/+0
| | | | | | | | | * 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.
* 2002-03-01 Eric Norum <eric.norum@usask.ca>Joel Sherrill2002-03-011-10/+9
| | | | | | * 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 <mikes@poliac.com>Joel Sherrill2002-01-311-0/+9
| | | | | | | | | | | * 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-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-081-0/+1
| | | | * libc/gxx_wrappers.c: Add #include <rtems/error.h>.
* 2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-063-2/+5
| | | | | | * libc/Makefile.am: Add MULTISUBDIR support. * libc/fcntl.c: Add #include <stdarg.h>. * libc/privateenv.c: Add #include <stdlib.h>.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-0434-78/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/rtems/libio_.h: Remove set_errno_and_return_minus_one. * libc/cfsetispeed.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/cfsetospeed.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/chdir.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/chmod.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/chown.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/chroot.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/closedir.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/eval.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fchdir.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fchmod.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fdatasync.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fpathconf.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fstat.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/fsync.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/ftruncate.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/getdents.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/ioctl.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/link.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/lseek.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/mknod.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/open.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/read.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/readlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/rmdir.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/stat.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/symlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/tcsetattr.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/telldir.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/ttyname.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/ttyname_r.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/unlink.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/unmount.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/utime.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one. * libc/write.c: Include <rtems/seterr.h>. Apply rtems_set_errno_and_return_minus_one.
* 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/clockgetres.c: Apply rtems_set_errno_and_return_minus_one. * src/clockgettime.c: Apply rtems_set_errno_and_return_minus_one. * src/clocksettime.c: Apply rtems_set_errno_and_return_minus_one. * src/killinfo.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueueclose.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuecreatesupp.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuegetattr.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuenotify.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueueopen.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuerecvsupp.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuesendsupp.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueuesetattr.c: Apply rtems_set_errno_and_return_minus_one. * src/mqueueunlink.c: Apply rtems_set_errno_and_return_minus_one. * src/nanosleep.c: Apply rtems_set_errno_and_return_minus_one. * src/pthreadkill.c: Apply rtems_set_errno_and_return_minus_one. * src/pthreadsigmask.c: Apply rtems_set_errno_and_return_minus_one. * src/ptimer1.c: Apply rtems_set_errno_and_return_minus_one. * src/sched.c: Apply rtems_set_errno_and_return_minus_one. * src/semaphorecreatesupp.c: Apply rtems_set_errno_and_return_minus_one. * src/semaphorewaitsupp.c: Apply rtems_set_errno_and_return_minus_one. * src/semclose.c: Apply rtems_set_errno_and_return_minus_one. * src/semdestroy.c: Apply rtems_set_errno_and_return_minus_one. * src/semgetvalue.c: Apply rtems_set_errno_and_return_minus_one. * src/seminit.c: Apply rtems_set_errno_and_return_minus_one. * src/semopen.c: Apply rtems_set_errno_and_return_minus_one. * src/sempost.c: Apply rtems_set_errno_and_return_minus_one. * src/semunlink.c: Apply rtems_set_errno_and_return_minus_one. * src/setpgid.c: Apply rtems_set_errno_and_return_minus_one. * src/setsid.c: Apply rtems_set_errno_and_return_minus_one. * src/sigaction.c: Apply rtems_set_errno_and_return_minus_one. * src/sigaddset.c: Apply rtems_set_errno_and_return_minus_one. * src/sigdelset.c: Apply rtems_set_errno_and_return_minus_one. * src/sigemptyset.c: Apply rtems_set_errno_and_return_minus_one. * src/sigfillset.c: Apply rtems_set_errno_and_return_minus_one. * src/sigismember.c: Apply rtems_set_errno_and_return_minus_one. * src/sigpending.c: Apply rtems_set_errno_and_return_minus_one. * src/sigtimedwait.c: Apply rtems_set_errno_and_return_minus_one. * src/utsname.c: Apply rtems_set_errno_and_return_minus_one.
* 2002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-01-041-1/+1
| | | | | | * 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 <jennifer@OARcorp.com>Joel Sherrill2001-11-301-7/+23
| | | | | This was tracked as PR88. * libc/scandir.c: Fixed to perform cleanup on error conditions.
* 2001-11-07 Jennifer Averett <jennifer@OARcorp.com>Joel Sherrill2001-11-071-1/+2
| | | | | | | Reported by Ibragimov Ilya <ibr@oktet.ru> 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 <joel@OARcorp.com>Joel Sherrill2001-10-261-16/+5
| | | | | * libc/libio.c: Cleanup of initialization per suggestion from Eric Norum.
* 2001-10-25 Jennifer Averett <jennifer@OARcorp.com>Joel Sherrill2001-10-251-88/+116
| | | | | | | * 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 <jennifer@OARcorp.com>Joel Sherrill2001-10-251-4/+14
| | | | | | | * 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 <strauman@SLAC.Stanford.EDU>Joel Sherrill2001-10-192-2/+1
| | | | | * libc/open.c, libc/close.c: Moved freenode from open to close.
* 2001-10-17 Till Straumann <strauman@SLAC.Stanford.EDU>Joel Sherrill2001-10-174-5/+14
| | | | | | | | | | | | | | | | * These changes were discussed and reviewed by many people but the primary people were Jennifer Averett <jennifer@OARcorp.com> and Eugeny Mints <jack@oktet.ru>. * 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-11 Mike Siers <mikes@poliac.com>Joel Sherrill2001-10-111-6/+22
| | | | | | | | | * 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-10 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-10-101-1/+1
| | | | | * libc/printk.c (printNum): Properly handle a maxwidth of 0 as reported by Nick Hennenfent <NICK.HENNENFENT@ROCHE.COM>.
* 2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-09-241-1/+2
| | | | | * libc/Makefile.am: Revamp INCLUDES handling to make automake-1.5 happy.
* 2001-09-14 Eric Norum <eric.norum@usask.ca>Joel Sherrill2001-09-211-7/+2
| | | | * libc/gxx_wrappers.c: Modifications to make gcc 3.x happy.
* 2001-08-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-08-171-0/+17
| | | | | | | | * 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-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-08-171-3/+2
| | | | | | | | | * libc/lseek.c: Modified after discussion with Eugeny S. Mints <jack@oktet.ru> 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 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-08-161-6/+26
| | | | | | | | * libc/lseek.c: Modified after discussion with Eugeny S. Mints <jack@oktet.ru> 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 <mikes@poliac.com>Joel Sherrill2001-08-161-0/+42
| | | | | | | | | | | | | | | * 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-16 Mike Siers <mikes@poliac.com>Joel Sherrill2001-08-161-8/+11
| | | | | | | | | | | | | | | * 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 <correo@fernando-ruiz.com>Joel Sherrill2001-08-092-2/+34
| | | | | * 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 <joel@OARcorp.com>Joel Sherrill2001-08-031-0/+8
| | | | | | * libc/libio_sockets.c (rtems_bsdnet_fdToSocket): Per bug report from Gene Smith <Gene.Smith@sea.siemens.com>, enhanced the error checking to account for a socket being closed.
* 2001-05-25 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-05-251-4/+2
| | | | | | * 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 <fernando.ruiz@ctv.es>Joel Sherrill2001-05-243-9/+15
| | | | | | | * 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 <joel@OARcorp.com>Joel Sherrill2001-05-111-1/+1
| | | | | * libc/write.c: Change type of rc to match return type from underlying function per report from Eric Norum.
* 2001-04-24 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-04-242-1/+2
| | | | | | | | | * 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 <abythell@nortelnetworks.com>. * libc/open.c: Remove redundant setting of iop->offset.
* 2001-04-20 Correo Fernando-ruiz <correo@fernando-ruiz.com>Joel Sherrill2001-04-202-21/+54
| | | | | | | | | | | | | | | | | * 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-01-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-01-261-2/+2
| | | | | * libc/chroot.c: Fixed naming problems. Names were changed when the code this depends on was merged.
* 2001-01-25 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-01-262-1/+60
| | | | | | * cpu.c, rtems/score/cpu.h: Bug report from Peter Mueller <peter.o.mueller@gmx.de> because of not correcting for the ISR vector table now being allocated from the workspace.
* 2001-01-25 Fernando Ruiz <fernando.ruiz@ctv.es>Joel Sherrill2001-01-254-6/+40
| | | | | | | | | | * 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-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-01-241-0/+4
| | | | | | | * configure.in: Add src/config.h * src/Makefile.am: Add INCLUDES += -I. to pickup config.h * src/.cvsignore: Add config.h and stamp-h * src/*.c: Add config.h support.
* 2001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-01-0891-2/+358
| | | | | | | * 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 <joel@OARcorp.com>Joel Sherrill2000-12-062-2/+1
| | | | | | * 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 <joel@OARcorp.com>Joel Sherrill2000-11-302-2/+2
| | | | | | | * include/rtems/Makefile.am: Added termiostypes.h. * libc/Makefile.am: Removed termiostypes.h. * libc/termios.c: Changed include of "termiostypes.h" to <rtems/termiostypes.h> since that is an RTEMS specific header file.
* 2000-11-28 Sergei Organov <osv@javad.ru>Joel Sherrill2000-11-281-1/+4
| | | | | * libc/getcwd.c: Ensure _closedir(dir) is called even on error exit from the routine.
* 2000-11-25 Antti P Miettinen <antti.p.miettinen@nokia.com>Joel Sherrill2000-11-252-156/+440
| | | | | | * libc/termios.c, libc/termiostypes.h: Task driver driver model and line discipline support from Thomas Doerfler <Thomas.Doerfler@imd-systems.de>.