| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the following sequence causes a endless loop when extending an
IMFS file:
- Create a file with zero length and close it.
- Make sure nearly no allocatable memory is left.
- Open the file and write enough data into it that more than the
remaining memory will be used.
In that case when extending the IMFS file, the file currently need zero
blocks. If allocating enough new blocks fails, the already allocated new
blocks will be freed again.
The comparison of block>=old_blocks that has been used prior to this
patch compared two unsigned numbers. If old_blocks was zero, the
comparison of these two numbers always evaluated to true.
This patch frees the last block in a separate step to avoid this
problem.
Note: This patch is a backport of
43119193ef0f3fef6bc01a391ccda8a97cfc149c from RTEMS master. It only
contains the bugfix. Adding a test case has been skipped because that
part of the patch didn't apply without problems and is not really
relevant for fixing the bug.
Fixes #2353
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
cannot be simplified to
KEEP (*(SORT(.ctors*)))
since
.ctors < .ctors.*
in lexicographical order.
See spglobalcon02 test case.
Close #3319.
|
|
|
|
|
|
|
|
| |
Check in init3 not needed since same data is already checked in init2
stage. Adds an extra check that the APB register space is available before
accessing it.
Closes #2331
|
|
|
|
| |
Updates #3877
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 #3877
|
|
|
|
|
|
| |
- Newlib overtites any FILE pointers set in stdin, stdout or stderr.
Closes #3870
|
|
|
|
|
|
| |
Close #3722.
(cherry picked from commit 2e8a66d13f04015c0024a084578f720ceb15ea00)
|
|
|
|
|
|
|
| |
This bug had probably no effect since the interrupt enable is idempotent
on all CPU ports.
Close #3497.
|
|
|
|
|
|
|
| |
The function rtems_rfs_buffer_sync() erroneously calls
rtems_disk_release(). This screws up the reference counting of the disk.
Close #3494.
|
|
|
|
|
|
| |
It tests the (never really working) strict order mutex option.
Update #3406.
|
|
|
|
| |
Closes #3324
|
|
|
|
| |
Update #2747
|
|
|
|
|
|
| |
Handles possible NULL return value
Updates #2747
|
|
|
|
|
|
| |
POSIX specifies char *, not const char *
Updates #2747
|
|
|
|
| |
Updates #2747
|
|
|
|
| |
Updates #2747
|
|
|
|
|
|
| |
The configure order effects how it works.
Close #3297
|
|
|
|
|
|
|
|
| |
If there is already a file with a long file name it isn't possible to
create a second file which has a name that ends on the first files name
(for example ets.beam and sets.beam). This patch fixes that.
Close #3258.
|
|
|
|
|
|
|
| |
Take care that a file in the root directory with the same name as the
volume name can be found.
Close #3257.
|
|
|
|
| |
Close #3164.
|
|
|
|
|
|
|
|
| |
The RTEMS_MILLISECONDS_TO_TICKS() macro doesn't round up. Do not use it
to calculate the program timeout in ticks. Check program done condition
after the timeout check to account for pre-emptions.
Close #3162.
|
|
|
|
| |
Close #3161.
|
|
|
|
|
|
| |
Do not update the non-existant meta-data of the root directory.
Close #2944.
|
|
|
|
| |
Close #2964.
|
|
|
|
|
|
| |
Set a proper name buffer length for each converter invocation.
Close #2987.
|
|
|
|
|
|
|
| |
- Add AM C++ support to the testsuite configure.ac script.
- Fix the dependences in the DL tests.
Closes #3024.
|
|
|
|
|
|
|
|
|
|
| |
- Add 'rtems_shell_init_environment()' so a user can create the
shell environment without needing to run a shell.
- Move 'rtems_shell_lookup_topic', 'rtems_shell_can_see_cmd',
and 'rtems_shell_execute_cmd' from the internal interface to
the public interface.
Closes #3104.
|
|
|
|
|
|
|
| |
Remove the OBJECTS_UNLIMITED_OBJECTS flag for the memory size
configuration.
Close #3105.
|
|
|
|
| |
Close #3093.
|
|
|
|
|
|
| |
Do not touch the FPSCR[QC] bit since this is DNM/RAZ on Cortex-R4.
Close #3092.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right after a "msr basepri_max, %[basepri]" instruction an interrupt
service may still take place (observed at least on Cortex-M7). However,
pendable service calls that are activated during this interrupt service
may be delayed until interrupts are enable again. The
_ARMV7M_Pendable_service_call() did not check that a thread dispatch is
allowed. Move this test from _ARMV7M_Interrupt_service_leave() to
_ARMV7M_Pendable_service_call().
Close #3060.
|
|
|
|
| |
Close #3002.
|
|
|
|
| |
Closes #2956.
|
|
|
|
|
|
|
| |
Do not use our long file name entry count to optimize the file name
search. The Unicode comparison must be taken into account.
Close #2939.
|
|
|
|
|
|
| |
Obtain file system instance lock before member access.
Close #2937.
|
|
|
|
|
| |
The name "fat_entries" for long file name directory entries is quite
misleading.
|
|
|
|
| |
Close #2934.
|
|
|
|
| |
Simplify.
|
|
|
|
|
|
| |
Make sure that long file names work accross cluster boundaries.
Close #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
| |
Update #2929.
|
|
|
|
|
|
|
|
| |
Remove forced overwrite which leads to file data corruption. The logic
to determine a forced overwrite was fundamentally broken. For simplity,
disable this feature.
Close #2622.
|
|
|
|
|
|
|
|
| |
It is all right in case the result uses the full destination buffer.
Without this fix the handling of a maximum 8.3 short file name is
broken.
Close #2928.
|
|
|
|
|
|
|
|
| |
Perform a context-dependent deferred location release to avoid a
deadlock on the file system instance locks, for example during a
chdir().
Close #2936.
|
|
|
|
| |
Closes #2827.
|
|
|
|
|
|
|
| |
In canonical mode, the raw input buffer or the canonical buffer may
overflow without an end of line. Avoid an infinite loop in this case.
Update #2915.
|
|
|
|
|
|
|
| |
Use the device lock to protect the raw input buffer management, e.g.
tail, head and buffer content updates.
Update #2914.
|
|
|
|
|
|
| |
Remove dead code.
Update #2914.
|