* inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add
add casts to Objects_Id in _Objects_Build_ids to avoid implicit
typecasts from enum to int16 on bit16 targets (here: h8300).
* lib/tftpDriver.c: Allow chdir() to work on TFTP `directories'
(path names with a / at the end) while disallowing open() operations
on TFTP `directories'.
This was tracked as PR91.
* include/rtems/score/isr.h, inline/rtems/score/isr.inl,
macros/rtems/score/isr.inl: Modified to allow any port to provide
its own implementation of the macro _ISR_Is_in_progress. If the
port overrides this macro, it must provide a non-inlined function
implementation.
This was tracked as PR91.
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
is used to specify if the port uses the standard macro for this (FALSE).
A TRUE setting indicates the port provides its own implementation.
This was tracked as PR91.
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
is used to specify if the port uses the standard macro for this (FALSE).
A TRUE setting indicates the port provides its own implementation.
* rtems/score/c_isr.inl: Deleted and contents merged into cpu.c.
* cpu.c: Received contents of c_isr.inl.
* Makefile.am: Deleted reference to c_isr.inl.
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
invoke the global constructors via __main. Reported as tested by
Alexandra Kossovsky <sasha@oktet.ru> and Victor V. Vengerov
<vvv@oktet.ru> in conjunction with a new set of tool RPMs
(gcc2.95.3newlib1.9.0-3). This was tracked as GNATS PR tools/84.
This modification is part of the submitted modifications necessary to
support the IBM PPC405 family. This submission was reviewed by
Thomas Doerfler <Thomas.Doerfler@imd-systems.de> who ensured it did
not negatively impact the ppc403 BSPs. The submission and tracking
process was captured as PR50.
* shared/asm.h, shared/ppc.h: Added PPC405 support.
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().
Discovered while fixing PR36 reported by Todor.Todorov@barco.com.
* include/rtems/itron/object.h: Corrected _ITRON_Objects_Get()
to use _Objects_Get_by_index().
Reported by Todor.Todorov@barco.com and tracked as PR36.
* include/rtems/score/object.h: Added prototype for
_Objects_Get_by_index().
* src/objectget.c, src/objectgetisr.c: Corrected procedure for
getting index from Id so it is correct and optimal for both single
and multiprocessor configurations.
* 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.
* 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().
* 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.
* include/confdefs.h, include/rtems/config.h, include/rtems/io.h,
optman/no-io.c, src/exinit.c, src/io.c: Added a device driver
register/unregister interface to allow device drivers to be
installed and removed at runtime. This means you do not need devices
present in the device table when you build.