Skip to content

Commit

Permalink
Align StackSize and StackAddress for macOS (#674)
Browse files Browse the repository at this point in the history
  • Loading branch information
moninom1 authored May 10, 2023
1 parent 153e52b commit 9149af9
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions portable/ThirdParty/GCC/Posix/port.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@
#include <sys/times.h>
#include <time.h>

#ifdef __APPLE__
#include <mach/mach_vm.h>
#endif

/* Scheduler includes. */
#include "FreeRTOS.h"
#include "task.h"
Expand Down Expand Up @@ -146,6 +150,11 @@ portSTACK_TYPE * pxPortInitialiseStack( StackType_t * pxTopOfStack,
pxTopOfStack = ( portSTACK_TYPE * ) thread - 1;
ulStackSize = ( size_t )( pxTopOfStack + 1 - pxEndOfStack ) * sizeof( *pxTopOfStack );

#ifdef __APPLE__
pxEndOfStack = mach_vm_round_page ( pxEndOfStack );
ulStackSize = mach_vm_trunc_page ( ulStackSize );
#endif

thread->pxCode = pxCode;
thread->pvParams = pvParameters;
thread->xDying = pdFALSE;
Expand Down

0 comments on commit 9149af9

Please sign in to comment.