These changes eliminate the year 2100 as a limit for TOD. The new
limit is the year 4096. This limit is not due to any RTEMS limitation
but just before the year 4183 when the rounding error in the length
of the year adds up to an entire day. See
https://de.wikipedia.org/wiki/Schaltjahr for details.
There are still limits on Classic APIs which use the 32-bit rtems_interval
type. This corresponds to the Score Watchdog_Interval type. This impacts
delays, timeouts, and Classic API "after" timers.
Closes#5143
Co-authored-by: Joel Sherrill <joel@rtems.org>
Co-authored-by: Gedare Bloom <gedare@rtems.org>
libc's strto* functions' behaviour isn't defined when the passed string
is NULL. In glibc it causes a seg fault when I tested it. This could
cause inconsistency.
rtem's stringto* functions didnt previously checked for null before
passing to underlying strto* functions.
Added the check which returns `RTEMS_INVALID_ADDRESS` on failure.
Also added a test case for the same
Signed-off-by: Prashant Rahul <prashantrahul141@protonmail.com>
This warning occurs when comparing a signed variable to an unsigned one.
This addresses warnings that only occurred on 64-bit targets. For the
ones which only appeared on 64-bit targets, the cause was frequently
a mismatch when comparing a combination off_t, ssize_t, and int.
This warning occurs when comparing a signed variable to an unsigned one.
This addresses warnings that only occurred on 64-bit targets. For the
ones which only appeared on 64-bit targets, the cause was frequently
a mismatch when comparing a combination off_t, ssize_t, and int.
This warning occurs when comparing a signed variable to an unsigned one.
This is frequently an int or ssize_t variable compared to a uint32_t or
size_t. Sometimes the size_t is from a sizeof() use.
This warning indicates the potential for using a local variable which
is not guaranteed to be preserved across a setjmp()/longjmp() pair.
Updates #5364.
This adds a missing text description for an internal error and updates
the spinternalerror02 test to check for the correct end of internal
error definitions.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, read() and write() return ssize_t and comparing
that value with the sizeof a buffer is a source of these warnings.
With the type change, some printf() specifiers needed to change also.
Most of these warnings were between int or ssize_t and size_t.
In particular, various POSIX system calls like read() and write()
return ssize_t and comparing that value with the sizeof a buffer
is a common source of these warnings. Another common source is
using an int as the iterator in a for loop with the limit being
a size_t.
With the type change, some printf() specifiers needed to change also.
Silences -Werror=unused-parameter warnings in psximfs and psximfs04
tests by explicitly casting the unused argument to void. This fixes
the build on strict compilers.
Added API header OK test in psxtests/psxhdrs
as a part of my work to GSoC 25
note that functions ppoll(), sem_clockwait() and timespec_get()
don't have a prototype yet so the tests will fail. I won't
add them to the libpsxhdrs.yml file until my PR is approved in newlib.
- Extend IMFS and libio headers to define default allocator/deallocator ops
and logic for configuring memfile_ops.
- Update imfs_memfile to use custom allocators for memory blocks.
- Fix imfs_statvfs.f_bfree calculation to respect user-defined ops.
- Add psximfs03 test case to validate custom allocator behavior.
- Refactor psximfs01 to share helper functions with psximfs03.
Updated comments and documentation files across the bsps directory
to replace obsolete references to libbsp with their new locations
in the bsps directory.
Updates #5323
The GCC warning -Wenum-conversion flagged the call to
_Core_message_queue_Submit() as returning a Status_Control
but the caller assigned it to a variable of type rtems_status_code.
The GCC warning -Wenum-conversion flagged assigning the return value
from _Objects_Name_to_id_u32 to an rtems_status_code variable. It
returns a Status_Control value.
Added the implementation of timespec_get() with tests.
The implementation used clock_gettime() as a reference.
The tests used psxtimes01 as a reference.
Updates
rtems/programs/gsoc#69