From d27e7b3e7ed1917617c08d0e9f328eb2bfd2dedd Mon Sep 17 00:00:00 2001 From: cpq Date: Thu, 12 Mar 2026 14:34:21 +0000 Subject: [PATCH] Add volatile to make MIP work with Diab 4.3 on PPC --- mongoose.c | 6 ++++++ src/net_builtin.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/mongoose.c b/mongoose.c index 3d50c3e6..9fde97e4 100644 --- a/mongoose.c +++ b/mongoose.c @@ -5151,6 +5151,9 @@ static bool icmpcsum_ok(const void *d, size_t len) { static uint16_t pcsum(void *d, void *p, size_t plen) { uint32_t sum; struct ip *ip = (struct ip *) d; +#if defined(__DCC__) + volatile /* Makes PPC & Diab4.3 happy */ +#endif struct pseudoip pip; pip.src = ip->src; pip.dst = ip->dst; @@ -5179,6 +5182,9 @@ static bool tcpcsum_ok(void *d, void *t) { static uint16_t p6csum(void *d, void *p, size_t plen) { uint32_t sum; struct ip6 *ip6 = (struct ip6 *) d; +#if defined(__DCC__) + volatile /* Makes PPC & Diab4.3 happy */ +#endif struct pseudoip6 pip6; pip6.src[0] = ip6->src[0], pip6.src[1] = ip6->src[1]; pip6.dst[0] = ip6->dst[0], pip6.dst[1] = ip6->dst[1]; diff --git a/src/net_builtin.c b/src/net_builtin.c index 770b1b10..96175ac5 100644 --- a/src/net_builtin.c +++ b/src/net_builtin.c @@ -262,6 +262,9 @@ static bool icmpcsum_ok(const void *d, size_t len) { static uint16_t pcsum(void *d, void *p, size_t plen) { uint32_t sum; struct ip *ip = (struct ip *) d; +#if defined(__DCC__) + volatile /* Makes PPC & Diab4.3 happy */ +#endif struct pseudoip pip; pip.src = ip->src; pip.dst = ip->dst; @@ -290,6 +293,9 @@ static bool tcpcsum_ok(void *d, void *t) { static uint16_t p6csum(void *d, void *p, size_t plen) { uint32_t sum; struct ip6 *ip6 = (struct ip6 *) d; +#if defined(__DCC__) + volatile /* Makes PPC & Diab4.3 happy */ +#endif struct pseudoip6 pip6; pip6.src[0] = ip6->src[0], pip6.src[1] = ip6->src[1]; pip6.dst[0] = ip6->dst[0], pip6.dst[1] = ip6->dst[1];