Temporarily add poisoning header typedef

This is to be replaced an alternate way to obtain the stack block size
by calling one or more multi_heap helper functions.
This commit is contained in:
Stephen Casner 2018-01-10 17:15:13 -08:00
parent ae5a434f76
commit 59bc8ff062

View file

@ -87,7 +87,6 @@ task.h is included from an application file. */
#include "StackMacros.h" #include "StackMacros.h"
#include "portmacro.h" #include "portmacro.h"
#include "semphr.h" #include "semphr.h"
#include "multi_heap_poisoning.h"
/* Lint e961 and e750 are suppressed as a MISRA exception justified because the /* Lint e961 and e750 are suppressed as a MISRA exception justified because the
MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined for the MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined for the
@ -3751,6 +3750,13 @@ BaseType_t xTaskGetAffinity( TaskHandle_t xTask )
pxTaskStatusArray[ uxTask ].eCurrentState = eState; pxTaskStatusArray[ uxTask ].eCurrentState = eState;
pxTaskStatusArray[ uxTask ].uxCurrentPriority = pxNextTCB->uxPriority; pxTaskStatusArray[ uxTask ].uxCurrentPriority = pxNextTCB->uxPriority;
#ifndef CONFIG_HEAP_POISONING_DISABLED #ifndef CONFIG_HEAP_POISONING_DISABLED
typedef struct {
uint32_t head_canary;
#ifdef CONFIG_HEAP_TASK_TRACKING
TaskHandle_t task;
#endif
size_t alloc_size;
} poison_head_t;
poison_head_t* stackblk = (poison_head_t*)(pxNextTCB->pxStack - sizeof(poison_head_t)); poison_head_t* stackblk = (poison_head_t*)(pxNextTCB->pxStack - sizeof(poison_head_t));
uint32_t stackinfo = stackblk->alloc_size << 16; uint32_t stackinfo = stackblk->alloc_size << 16;
stackinfo |= pxNextTCB->pxTopOfStack - pxNextTCB->pxStack; stackinfo |= pxNextTCB->pxTopOfStack - pxNextTCB->pxStack;