| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In POSIX, zero size memory allocations are implementation-defined
behaviour. The implementation has two options:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
Linux and FreeBSD return a unique pointer for zero size memory
allocations. Return NULL on RTEMS to more likely catch the use of a
zero size memory area by erroneous applications.
Update #4390.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The zero size allocations had no consistent behaviour in RTEMS. For
example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 )
returned in p a unique pointer (or NULL if no memory is available). In
POSIX, zero size memory allocations are implementation-defined
behaviour. The implementation has two options:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
Linux and FreeBSD return a unique pointer for zero size memory
allocations. Use this approach for RTEMS as well throughout the memory
allocation directives
Close #4390.
|
|
|
|
| |
Flexible array members must not appear in the middle of a structure.
|
| |
|
|
|
|
|
|
|
| |
The multiplication to calculate the length of the memory area to
allocate may overflow. Return NULL in case of an overflow.
Close #4389.
|
|
|
|
| |
This reverts commit 3299dda2454a8847c670a732f6c12ef1f2cc5dd0.
|
|
|
|
| |
Update #3850
|
|
|
|
| |
Update #3850
|
|
|
|
| |
Update #3850
|
|
|
|
|
|
|
|
|
| |
Fix warning:
testsuites/libtests/block14/init.c:198:8: warning: 'sc' may be used
uninitialized in this function [-Wmaybe-uninitialized]
Update #3689.
|
| |
|
|
|
|
|
|
|
|
| |
Adds a peek function that allows (for example) a file system to suggest
the next blocks that should be used for read ahead. This can increase
the read speed of fragmented files.
Update #3689
|
| |
|
|
|
|
| |
Update #4267.
|
|
|
|
|
| |
This commit adds a basic test that tests all the implemented
RTEMS OFW functions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a compiler warning about a missing prototype.
If you wonder why the function name is not `static`:
The code in the file only serves a test where the dynamic object loader
(aka dlopen()) should handle duplicated symbols in an archive.
testsuites/libtests/dl10/dl10-o6.c:14:5: warning: no previous prototype
for 'rtems_main_o5' [-Wmissing-prototypes]
14 | int rtems_main_o5 (void)
| ^~~~~~~~~~~~~
|
| |
|
| |
|
| |
|
|
|
|
| |
Close #4034.
|
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
|
|
|
|
| |
Normally, the expected test step must be a compile time constant. Allow
variable expected test steps for the T_step() and T_assert_step(). This
can be used for parameterized test loops with individual fixtures.
Remove the ability to use custom failure messages due to some
implementation constraints.
Update #3199.
|
|
|
|
|
|
| |
Support a new test plan for each nested fixture.
Update #3199.
|
|
|
|
|
|
|
| |
Return the produced character count. There is no need for a NUL
termination.
Update #3199.
|
| |
|
|
|
|
|
|
|
|
| |
Add support to record thread switch events. This can be used to check
that a blocking operation results in the expected sequence of thread
switches.
Update #3199.
|
|
|
|
| |
Update #3199.
|
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
| |
This macro magic is in line with C11 and C++11, but limits the maximum
count of arguments.
Update #3199.
|
|
|
|
| |
Update #3199.
|
|
|
|
| |
Update #3199.
|
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
|
| |
Rename this header file to later move <t.h> to <rtems/test.h>. The main
feature provided by <rtems/test-info.h> is the output of standard test
information which is consumed by the RTEMS Tester.
Update #3199.
|
|
|
|
| |
Update #3968.
|
|
|
|
|
|
|
| |
Do not generate the test tar archive on the host computer since not all
file systems support symbolic links.
Close #3968.
|
| |
|
|
|
|
| |
Closes #3969
|
|
|
|
| |
Update #2962.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix the passing of std[in/out] to child threads
- Fix deleting of managed memory in the key destructor
- Only set the key in the main loop thread
- Only allocate a shell env outside of the main loop
- Fix memory leak if the task start fails
- Remove error level from shell env, it cannot be returned this way. Add
exit_code but the API is broken so it cannot be returned.
Closes #3859
|
|
|
|
|
|
| |
This configuration option is obsolete since 2014.
Update #1367.
|
|
|
|
|
|
|
|
|
| |
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib().
Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options.
Update #3904.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.
The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:
#define CONFIGURE_IMFS_DISABLE_MKNOD
#define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES.
Update #3894.
Update #3898.
|
|
|
|
|
|
|
|
|
|
| |
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and
rtems_configuration_is_smp_enabled() were added during the SMP support
development cycle as a workaround to fix some testsuite failures in SMP
configurations. All use cases were replaced with tests for specific
conditions. The configuration option and test macro were undocumented.
Close #3876.
|
|
|
|
|
|
|
|
|
|
| |
The IO library used a POSIX key to store an optional POSIX user
environment pointer. This pulled in the POSIX keys support in every
application configuration. Add a user environment pointer to the thread
control block (TCB) instead. Applications which do not need the POSIX
user environment will just get an overhead of one pointer per thread.
Close #3882.
|
|
|
|
| |
Update #3875.
|
|
|
|
| |
Update #3870
|
|
|
|
| |
Update #3838.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized. The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap. In these configurations, the workspace
and C prgram heap should not get initialized.
Change all bsp_work_area_initialize() to implement _Memory_Get()
instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.
This change adds a dependency to _Heap_Extend() to all BSPs. This
dependency will be removed in a follow up change.
Update #3838.
|