Commit Graph
321 Commits
Author SHA1 Message Date
Joel Sherrill e1d8abbe28 Applied patch rtems-rc-19990820-6.diff.gz from
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many
Makefile.in's to Makefile.am's.  This added a lot of files.
1999-09-07 13:45:03 +00:00
Joel Sherrill 6fc973e39b Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Here is another fix, which addresses a few more or less severe bugs in
    configuration and unix/posix:

    * Configuration fix: c/src/lib/configure.in didn't handle RDBG correctly

    * Configuration fix: make depend was non-functional in
      c/src/lib/libc/Makefile.in
    * Configuration fix: stray comment removed from aclocal/target.m4

    * RTEMS fix: termios support for unix/posix now uses the host's headers
      only (was completely broken).
    - Don't install RTEMS's newlib sys/termios.h for unix (sys/termios.h
      apparently is a newlib specific header)
    - To be able to compile RTEMS's  termios.c with glibc2.1, glibc-2.1
      needs __USE_MISC, which is a private define from gcc's features.h, being
      defined only when _BSD_SOURCE of _SVID_SOURCE is defined.  RTEMS's
      termios apparently implements BSD, thus -D_BSD_SOURCE was added to
      Linux-posix.cfg.
    - Conflicting definitions for  __USE_MISC and _BSD_SOURCE inside of
      RTEMS codes removed due to definition of _BSD_SOURCE on the toplevel.

    This fix has been tested with linux/posix (primary glibc2.1 native),
    linux/posix (secondary libc5 native), sh/gensh1, i386/pc386 and a couple
    of other bsp's/CPU.

    To apply:

        cd <srcdir>
        patch -p1 < rtems-rc-19990709-9.diff

    and
        aclocal -I aclocal && automake && autoconf
        cd c/src/lib; autoconf

    or
        ./autogen
1999-08-18 16:49:52 +00:00
Joel Sherrill a0a225f4aa Added code to initialize the /etc/group and /etc/passwd files. 1999-07-02 18:50:40 +00:00
Joel Sherrill c51917f304 Fixed format strings and warnings. 1999-07-02 18:09:03 +00:00
Joel Sherrill c3d20eba96 Reentrant versions added by Joel. Signficant formatting cleanup. 1999-07-02 18:03:43 +00:00
Joel Sherrill 258fd794fd Password and group routines added by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1999-07-02 17:13:27 +00:00
Joel Sherrill 937ab62c30 After comments D. V. Henkel-Wallace <gumby@zembu.com>, the interface to
mount() was changed to avoid the use of a string as the options.
1999-06-15 22:16:30 +00:00
Joel Sherrill 4ecc390933 RTEMS_FILESYSTEM_READ_WRITE_ONLY changed to RTEMS_FILESYSTEM_READ_WRITE
for simplicity.
1999-06-14 20:18:56 +00:00
Joel Sherrill d741406c1a Wrong prototype corrected. 1999-06-14 20:18:13 +00:00
Joel Sherrill 0ac8e382e9 Warning removal from D. V. Henkel-Wallace <gumby@zembu.com>. 1999-06-14 19:44:07 +00:00
Joel Sherrill d001776f3f Added local prototype of ioctl() to avoid requiring sys/ioctl.h. 1999-06-11 14:49:13 +00:00
Joel Sherrill 8dba3733fb Switched to using strcasecmp() since it is more portable.
D. V. Henkel-Wallace <gumby@zembu.com> spotted this one.
1999-06-09 13:50:47 +00:00
Joel Sherrill 1c841bd229 Split out the routine rtems_assoc_name_bad(). 1999-05-27 16:13:19 +00:00
Joel Sherrill 556ea0e3ba Removed usage of printf. 1999-05-27 16:12:20 +00:00
Joel Sherrill 5adf355aa3 Split initialization and reserve resources from termios to reduce
size of mininum application.
1999-05-27 16:11:52 +00:00
Joel Sherrill 4c5080ed09 Fix based on bug report from Jay Kulpinski <jskulpin@eng01.gdds.com>
that the per task reentrancy structure was not being processed properly
during exit().

joel@oarcorp.com wrote:
>
>
> This is always an ugly place to poke around. :(
>
> The code in newlib/libc/stdlib/exit.c walks the atexit chain for the
> reentrancy structure for JUST the current task.  The code in libc_wrapup()
> does it for both the current task and the global reentrancy structure
> (which tends to be where driver atexit()'s were registered.
>
> So I think the _wrapup_reent(0) in libc_wrapup() should be commented out.
>
> If you concur, then I will make the change and improve the comment on this
> line of code to explain things:
>
>     libc_wrapup(); /* Why? XXX */
>
> --joel

That does the job.  cdtest.exe works correctly now.
1999-05-11 16:30:51 +00:00
Joel Sherrill 933388ae2d Added lstat(). 1999-04-22 21:13:23 +00:00
Joel Sherrill d006519bce Added reentrant versions. 1999-04-15 19:01:32 +00:00
Joel Sherrill a68e6b91e9 Updated version string. 1999-04-15 18:58:43 +00:00
Joel Sherrill 5eb7da97cd Disable IXON by default based on comment from Eric Norum
<e.norum@sk.sympatico.ca> and concerns from Thomas Doerfler
<td@imd.m.ISAR.de> when he submitted the patch:

  Since enabling XON/XOFF has such a major performance hit on `smart' output
  devices I think it should be *off* by default.  I think some thought should
  be given to adding hooks for hardware that can support XON/XOFF without
  software intervention, or for hardware like the 68360 SCC's that can use
  large buffers, but still handle special characters immediately.

  The patch you sent is a very good start, though.  I just think that the
  software flow control should be off -- to match the way the serial I/O
  support has worked up until now.
1999-04-01 16:20:03 +00:00
Joel Sherrill 18040d302c Patch from Thomas Doerfler <td@imd.m.ISAR.de> to add flow control:
Some lines for "documentation":
    ======================================
    One thing should be noted: when XON/XOFF is enabled, the serial
    device will always work with one-character buffers, so the interrupt
    load for the CPU might get higer, especially on devices like MC68360
    and MPC860, where the serial channels are capable of using big
    buffers. But, once again, this only happens when XON/XOFF is actually
    selected.

    Please note that the flag IXON is set by default, so outgoing
    XON/XOFF flow control is enabled by default.

    XON/XOFF is controlled using the "standard" fields IXON/IXOFF in the
    termios structure. The termios flag IXANY is not (yet) supported.

    Hardware handshake for the incoming data stream is controlled using
    the standard flag CRTSCTS. If this flag is set, whenever the receive
    buffer is almost full, the driver function "device.stopRemoteTx()" is
    called, when the receive buffer has more space available,
    "device.startRemoteTx()" is called again.  If the driver does not
    provide these interface functions (entries in device structure are
    NULL pointers), then these calls are suppressed.

    Changes of the flow control options during operation should work at
    any time, but this has not been extensively tested.

    No changes to the device driver interface are needed.
    ================================================

    One critical point when using this patch might be, that any BSP using
    this version of termios will now have outgoing flow control enabled
    by default, so the behaviour of these BSPs will change here. The
    option IXON has already been set in older termios by default, but it
    did not work until this patch. Maybe this option should be switched
    off by default, what do you think?
1999-03-31 23:35:22 +00:00
Jennifer Averett ec2328eeaf Removed asserts that shouldn't be called and commented case where this
indicates an internal error.
1999-03-31 23:24:57 +00:00
Jennifer Averett f719ef12ff Corrected return value. 1999-03-31 23:23:52 +00:00
Joel Sherrill 707d4d00d6 Removed warning for const removal. 1999-03-30 17:42:25 +00:00
Jennifer Averett 77c81fd2a1 Removed an uninitialized variable. 1999-03-29 18:24:34 +00:00
Joel Sherrill a432c4b710 Fix based on bug report from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
There seems to be an ugly dependency between posix-headers and
    libcsupport.

    Configuring rtems with
    ../rtems-rc-19990324-0/configure \
    --target=i386-rtems \
    --prefix=<somewhere> \
    --disable-posix

    "make RTEMS_BSP=pc386" results into:

    [...]
    /opt/rtems/bin/i386-rtems-gcc --pipe
    -B/users/rtems/src/multi/build/pc386/lib/ -specs bsp_specs -qrtems
    -I/users/rtems/src/multi/build/pc386/lib/include/networking  -g -Wall
    -ansi -fasm  -O4 -fomit-frame-pointer    -c -o o-pc386/utime.o
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c
    In file included from
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:16:
    /opt/rtems/i386-rtems/include/utime.h:4: sys/utime.h: No such file or
    directory
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
    `struct utimbuf' declared inside parameter list
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
    its scope is only this definition or declaration,
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
    which is probably not what you want.
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c: In function
    `utime':
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:34:
    dereferencing pointer to incomplete type
    ../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:34:
    dereferencing pointer to incomplete type
    make[4]: *** [o-pc386/utime.o] Error 1
    make[3]: *** [all] Error 1
    make[2]: *** [all] Error 1
    make[1]: *** [all] Error 1
    make[1]: Leaving directory `/lfs/poseidon/users/rtems/src/multi/build/c'

    make: *** [all] Error 1

    Apparently sys/utime.h is one of the posix headers and therefore gets
    not installed (I suppose this is correct).

    IMO, this probably indicates that sys/utime.h has to be moved to another
    include subdirectory and should not be part of the posix-package.
    [AFAIK, sys/*.h are system dependent headers, so why should it be a
    posix-header? - Hmm]
1999-03-24 22:52:47 +00:00
Joel Sherrill 4fb9af858e Another cleanup patch for the previous rejected hunk. 1999-03-19 23:26:11 +00:00
Joel Sherrill c0a3642981 A cleanup patch on fcntl.c from Eric Norum <eric@skatter.usask.ca> for
2 lines of code that did not get included when Joel tried to manually
add a rejected patch.
1999-03-19 22:59:20 +00:00
Joel Sherrill af0200363e Patch from Eric Norum <eric@skatter.usask.ca> that adds external
fcntl support and an external fcntl handler for sockets.
1999-03-19 21:51:58 +00:00
Joel Sherrill 23c4bbf58a Use proper include for libio.h. 1999-03-16 01:41:16 +00:00
Joel Sherrill 3195d9c0a5 Added code to translate internal libio flags to POSIX style flags. 1999-03-08 21:39:16 +00:00
Joel Sherrill 1bb170208b Added support for F_GETFL and F_SETFL. 1999-03-08 21:38:56 +00:00
Joel Sherrill 3ef87981eb Added F_GETFL support so the fdopen() implementation in newlib 1.8.1
would work.  At the same time, the initial implementation of F_SETFL
was added.  A support routine was added to convert internal libio
flags back to the POSIX style.  Eventually the internal representation
should be eliminated in the interest of simplicity and code reduction.
This problem was reported by Jake Janovetz <janovetz@tempest.ece.uiuc.edu>.
1999-03-06 18:09:15 +00:00
Joel Sherrill 73f6236bc0 Patch from Eric Norum <eric@skatter.usask.ca> to eliminate external
IO handlers scheme that was implemented originally just to support
sockets.  The file system IO switch is more general and works fine.
1999-03-01 22:40:08 +00:00
Joel Sherrill 3cf8394af5 Changed IMFS to use IMFS_NAME_MAX as the maximum length of a basename
rather then NAME_MAX.  NAME_MAX is 255 and that lets IMFS chew up memory
too fast.  Perhaps in the future, the places in IMFS that put a maximum
length name string on the stack and the jnode structure does not include
a maximu length name string can be fixed so this is not a problem.
1999-02-24 20:58:47 +00:00
Joel Sherrill edfb0eba88 GLobal reentrancy structure is now dynamically initialized. 1999-02-18 15:11:41 +00:00
Joel Sherrill 7e2a525b6d Patch from Eric Valette <valette@crf.canon.fr> to undo the patch
that added ifdef on the pc386.
1999-02-15 18:56:08 +00:00
Joel Sherrill 9619ff36e9 Set the read/write offset to 0 when the file is opened. The ACVC had a test
that performed the sequence open/write/close/open/read/close on a file.
It did not get the correct result since the file descriptor was reused.
1999-02-10 17:05:55 +00:00
Joel Sherrill 3165b4d365 Added getcwd(). 1999-02-10 17:04:12 +00:00
Joel Sherrill 2f87c84349 Corrected spacing and added some new error checks that were needed
to avoid dereferencing NULLs.
1999-02-05 00:28:43 +00:00
Joel Sherrill c9df8d8f7c Patch from Eric Norum <eric@skatter.usask.ca> to set more flags in
rtems_bsdnet_makeFdForSocket().
1999-01-28 18:42:04 +00:00
Joel Sherrill d78b7a9ed7 Added libio_sockets.c to hold support routines for networking code. 1999-01-26 01:49:31 +00:00
Joel Sherrill 2d733c424b More general fix based on bug report and patch from Ian Lance Taylor
<ian@airs.com> to fix this problem:

    There is a small bug in __rtems_close in c/src/lib/libc/libio.c.  It
    does not check whether the file descriptor it is passed is open.  This
    can cause it to make a null dereference if it is passed a file
    descriptor which is in the valid range but which was not opened, or
    which was already closed.
1999-01-20 15:48:22 +00:00
Joel Sherrill eb6fafd33b Per bug report from Jiri Gaisler that RTEMS would no longer build
with the --disable-posix option, stubs for some routines (_getpid_r and
_kill_r) that are normally defined with POSIX were added.
1999-01-19 20:19:22 +00:00
Joel Sherrill 73441b6fef Removed blank lines 1999-01-04 16:26:37 +00:00
Joel Sherrill e22d644abe Corrected prototype to confirm to POSIX 1003.1b. 1998-12-14 23:01:43 +00:00
Joel Sherrill cca44008d8 Merged Eric Norum's select patch that was based on 4.0 and resolved
all conflicts.
1998-12-10 23:31:54 +00:00
Joel Sherrill a3d0b8a79a Patch from Ian Lance Taylor <ian@airs.com>:
From: Eric Norum <eric@skatter.usask.ca>
   Date: Sat,  5 Dec 98 13:20:51 -0600

   What do you think of this patch?  It implements your `tap'
   suggestion in a way that adds support for all ethernet devices with
   no driver modifications.  I also added a return value from the tap
   function.  If the return value is zero, the packet will be passed up
   the chain as usual.  If the return value is non-zero the mbuf holding
   the packet will be freed and the packet will be dropped.

   If you like it, please submit it to Joel.

   I guess there needs to be an addition to the network documentation
   describing the additional ioctl's -- and a big warning that the tap
   function is called from a context that holds the network semaphore.

   Here is Eric's patch.  I've tested it a bit, and made a couple of
   trivial changes.  This is certainly better than mine: it should work
   for all Ethernet drivers.
   ==================================================

   The only concern I have about this patch is that the tap function may
   want to fiddle with the mbuf, calling functions like m_pullup and the
   like.  If those force the networking code to rearrange the mbuf
   structure, then the caller's call to m_freem may crash.  I don't know
   if this is a realistic concern--I don't know enough about the mbuf
   layer.
1998-12-10 19:42:29 +00:00
Jennifer Averett 5822f437a1 Added source for F_DUPFD. 1998-12-03 22:17:26 +00:00
Jennifer Averett 7a3878b26f Modifications for RTEMS_UNIX. 1998-12-03 22:17:13 +00:00