Move rtems_termios_device_lock_acquire_default() and
rtems_termios_device_lock_release_default() to a file separate from the
general Termios support. This avoids complex dependencies in printk()
only scenarios.
Move the __getreent() variant using the global reentrancy structure to
librtemscpu.a. This avoids a definition of __getreent() in the
configuration module if CONFIGURE_DISABLE_NEWLIB_REENTRANCY is defined.
This avoids all the dependencies which would be exposed by a reference
to the global reentrancy structure.
This change is only possible since the default configuration moved to
librtemsdefaultconfig.a recently.
Ensure that the creation of Classic API objects fails with the expected
status code in the default configuration.
Ensure that the deletion of Classic API objects fails with the expected
status code in the default configuration if the identifier is invalid.
Ensure that only the expected objects are present in the default
configuration via rtems_object_get_classic_name().
Reduce structure internal padding. Group members used by _Objects_Get()
together. Reduce size of some members.
Format and simplify _Objects_Extend_information().
An RTEMS application default configuration is contained in
cpukit/libmisc/dummy/default-configuration.c. This default
configuration was contained in librtemscpu.a. This had at least two
problems:
1. Application configuration errors may have pulled in the default
configuration which in turn lead to multiply define symbols error.
This was quite confusing. You had to consult the linker map file to
figure out what cased the pull in of the default configuration. You
needed to know what a linker map file is and how you generate it with
your build system. This was not very user friendly.
2. It prevented the use of default configuration items for each subsystem
in librtemscpu.a. This may be used to reduce the size of the
configuration itself.
Move the default configuration to the separate library
librtemsdefaultconfig.a.
Close#3551.
Enable support for string objects names unconditionally. Add const
qualifier throughout. Split _Objects_Namespace_remove() into
_Objects_Namespace_remove_u32() and _Objects_Namespace_remove_string()
to avoid an unnecessary dependency on _Workspace_Free().
Update #2514.