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.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel