From 16c9ef64b0234181d7fc70069946d6b6fd9d2a5e Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Fri, 5 Sep 2025 19:42:00 -0400 Subject: [PATCH] misc: Ensure stacks are always aligned with the native pointer size. Change-Id: Ie7efae914dcb43be98bbb71bae9b765b2d87d817 --- firmware/powermgmt.c | 4 ++-- firmware/scroll_engine.c | 2 +- firmware/target/arm/rk27xx/ma/pca9555-ma.c | 2 +- firmware/target/arm/s5l8702/ipod6g/pmu-6g.c | 2 +- firmware/target/arm/s5l8702/ipodnano3g/pmu-nano3g.c | 2 +- firmware/target/arm/s5l8702/ipodnano4g/pmu-nano4g.c | 2 +- firmware/target/hosted/cpuinfo-linux.c | 2 +- firmware/target/hosted/pcm-alsa.c | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 20059288dc..82f9308483 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -122,9 +122,9 @@ unsigned short power_history[POWER_HISTORY_LEN] = {0}; #if (CONFIG_CPU == JZ4732) || (CONFIG_CPU == JZ4760B) || \ (CONFIG_CPU == X1000) || (CONFIG_PLATFORM & PLATFORM_HOSTED) -static char power_stack[DEFAULT_STACK_SIZE]; +static long power_stack[DEFAULT_STACK_SIZE/sizeof(long)]; #else -static char power_stack[DEFAULT_STACK_SIZE/2]; +static long power_stack[DEFAULT_STACK_SIZE/2/sizeof(long)]; #endif static const char power_thread_name[] = "power"; diff --git a/firmware/scroll_engine.c b/firmware/scroll_engine.c index 2991b78326..c39e9f0be9 100644 --- a/firmware/scroll_engine.c +++ b/firmware/scroll_engine.c @@ -194,7 +194,7 @@ static void scroll_thread(void) void scroll_init(void) { - static char scroll_stack[DEFAULT_STACK_SIZE*3]; + static long scroll_stack[(DEFAULT_STACK_SIZE*3)/sizeof(long)]; #ifdef HAVE_REMOTE_LCD queue_init(&scroll_queue, true); #endif diff --git a/firmware/target/arm/rk27xx/ma/pca9555-ma.c b/firmware/target/arm/rk27xx/ma/pca9555-ma.c index bec2fb17fa..34f068e594 100644 --- a/firmware/target/arm/rk27xx/ma/pca9555-ma.c +++ b/firmware/target/arm/rk27xx/ma/pca9555-ma.c @@ -25,7 +25,7 @@ #include "pca9555.h" static struct semaphore pca9555_sem; -static char pca9555_thread_stack[DEFAULT_STACK_SIZE]; +static long pca9555_thread_stack[DEFAULT_STACK_SIZE/sizeof(long)]; volatile unsigned short pca9555_in_ports; void INT_GPIO1(void) diff --git a/firmware/target/arm/s5l8702/ipod6g/pmu-6g.c b/firmware/target/arm/s5l8702/ipod6g/pmu-6g.c index e7b09346ad..17cb9c5701 100644 --- a/firmware/target/arm/s5l8702/ipod6g/pmu-6g.c +++ b/firmware/target/arm/s5l8702/ipod6g/pmu-6g.c @@ -195,7 +195,7 @@ unsigned short pmu_read_adc(const struct pmu_adc_channel *ch) */ #define Q_EINT 0 -static char pmu_thread_stack[DEFAULT_STACK_SIZE/2]; +static long pmu_thread_stack[DEFAULT_STACK_SIZE/2/sizeof(long)]; static struct event_queue pmu_queue; static unsigned char ints_msk[6]; diff --git a/firmware/target/arm/s5l8702/ipodnano3g/pmu-nano3g.c b/firmware/target/arm/s5l8702/ipodnano3g/pmu-nano3g.c index a8171d42e2..c485877fa8 100644 --- a/firmware/target/arm/s5l8702/ipodnano3g/pmu-nano3g.c +++ b/firmware/target/arm/s5l8702/ipodnano3g/pmu-nano3g.c @@ -163,7 +163,7 @@ unsigned short pmu_read_adc(const struct pmu_adc_channel *ch) */ #define Q_EINT 0 -static char pmu_thread_stack[DEFAULT_STACK_SIZE/2]; +static long pmu_thread_stack[DEFAULT_STACK_SIZE/2/sizeof(long)]; static struct event_queue pmu_queue; static unsigned char ints_msk[2]; diff --git a/firmware/target/arm/s5l8702/ipodnano4g/pmu-nano4g.c b/firmware/target/arm/s5l8702/ipodnano4g/pmu-nano4g.c index 42ec168cb1..d5b7ecb1bf 100644 --- a/firmware/target/arm/s5l8702/ipodnano4g/pmu-nano4g.c +++ b/firmware/target/arm/s5l8702/ipodnano4g/pmu-nano4g.c @@ -162,7 +162,7 @@ unsigned short pmu_read_adc(const struct pmu_adc_channel *ch) */ #define Q_EINT 0 -static char pmu_thread_stack[DEFAULT_STACK_SIZE/2]; +static long pmu_thread_stack[DEFAULT_STACK_SIZE/2/sizeof(long)]; static struct event_queue pmu_queue; static unsigned char ints_msk[3]; diff --git a/firmware/target/hosted/cpuinfo-linux.c b/firmware/target/hosted/cpuinfo-linux.c index 8165a0961b..b6056b3dab 100644 --- a/firmware/target/hosted/cpuinfo-linux.c +++ b/firmware/target/hosted/cpuinfo-linux.c @@ -68,7 +68,7 @@ static int samples_taken; static clock_t initial_time, hz; -static char cputime_thread_stack[DEFAULT_STACK_SIZE + 0x100]; +static long cputime_thread_stack[(DEFAULT_STACK_SIZE + 0x100)/sizeof(long)]; static char cputime_thread_name[] = "cputime"; static int cputime_threadid; static void cputime_thread(void); diff --git a/firmware/target/hosted/pcm-alsa.c b/firmware/target/hosted/pcm-alsa.c index 68002d8158..f6347cea73 100644 --- a/firmware/target/hosted/pcm-alsa.c +++ b/firmware/target/hosted/pcm-alsa.c @@ -97,7 +97,7 @@ static unsigned int xruns = 0; static snd_async_handler_t *ahandler = NULL; static pthread_mutex_t pcm_mtx; -static char signal_stack[SIGSTKSZ]; +static long signal_stack[SIGSTKSZ/sizeof(long)]; static const char *playback_dev = DEFAULT_PLAYBACK_DEVICE;