forked from Imagelibrary/rtems
@@ -4,9 +4,6 @@ actions:
|
||||
# expected to fail, don't compile these
|
||||
minimum: exclude
|
||||
|
||||
# test broken under 64bit due to SIZE_MAX differences
|
||||
validation-0: exclude
|
||||
|
||||
# don't compile due to toolchain issues
|
||||
spconfig01: exclude
|
||||
spmisc01: exclude
|
||||
|
||||
@@ -4,9 +4,6 @@ actions:
|
||||
# expected to fail
|
||||
minimum: exclude
|
||||
|
||||
# test broken under 64bit due to SIZE_MAX differences
|
||||
validation-0: expected-fail
|
||||
|
||||
# don't compile due to toolchain issues
|
||||
spconfig01: exclude
|
||||
spmisc01: exclude
|
||||
|
||||
@@ -358,7 +358,18 @@ static void RtemsMessageReqConstructErrors_Pre_MaxSize_Prepare(
|
||||
* The maximum message size of the message queue configuration shall be
|
||||
* valid.
|
||||
*/
|
||||
ctx->config.maximum_message_size = MAX_MESSAGE_SIZE;
|
||||
if ( ctx->config.maximum_pending_messages == UINT32_MAX ) {
|
||||
/*
|
||||
* At least on 64-bit systems we need a bit of help to ensure that we
|
||||
* meet the Big state of the MaxPending pre-condition. The following
|
||||
* message size is valid with respect to calculations involving only
|
||||
* the message size.
|
||||
*/
|
||||
ctx->config.maximum_message_size = SIZE_MAX - sizeof( uintptr_t ) +
|
||||
1 - sizeof( CORE_message_queue_Buffer );
|
||||
} else {
|
||||
ctx->config.maximum_message_size = MAX_MESSAGE_SIZE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user