[PATCH v3 07/10] spmsgq_err01: Use correct max values and fix 64bit
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Oct 5 07:18:24 UTC 2020
On 04/10/2020 06:18, Kinsey Moore wrote:
> Fix spmsgq_err01 on systems with 64-bit pointers and correct max value
> mismatches and inaccuracies that are more noticable on 64-bit systems.
> ---
> testsuites/sptests/spmsgq_err01/init.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/testsuites/sptests/spmsgq_err01/init.c b/testsuites/sptests/spmsgq_err01/init.c
> index c68d30da16..9a6a8855be 100644
> --- a/testsuites/sptests/spmsgq_err01/init.c
> +++ b/testsuites/sptests/spmsgq_err01/init.c
> @@ -101,7 +101,7 @@ rtems_task Init(
> /* not enough memory for messages */
> status = rtems_message_queue_create(
> Queue_name[ 1 ],
> - SIZE_MAX / ( sizeof( uintptr_t ) + sizeof( CORE_message_queue_Buffer ) ),
> + UINT_MAX / ( sizeof( uintptr_t ) + sizeof( CORE_message_queue_Buffer ) ),
I think this should be UINT32_MAX. However, on a 64-bit system this test
case doesn't produce the intended error case.
> 1,
I think we need here something like MIN(SIZE_MAX / UINT32_MAX, 1)).
> RTEMS_DEFAULT_ATTRIBUTES,
> &Queue_id[ 1 ]
> @@ -116,8 +116,8 @@ rtems_task Init(
> /* too large a request for messages */
> status = rtems_message_queue_create(
> Queue_name[ 1 ],
> - INT_MAX,
> - INT_MAX,
> + UINT_MAX,
UINT32_MAX?
> + SIZE_MAX - sizeof( uintptr_t ) + 1 - sizeof( CORE_message_queue_Buffer ),
> RTEMS_DEFAULT_ATTRIBUTES,
> &Queue_id[ 1 ]
> );
I am not sure about these changes.
More information about the devel
mailing list