diff options
Diffstat (limited to 'upstream.patch')
-rw-r--r-- | upstream.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/upstream.patch b/upstream.patch new file mode 100644 index 0000000..6cac41c --- /dev/null +++ b/upstream.patch @@ -0,0 +1,52 @@ +From 08b00579fd9d2abd5d5116bbda27f8eceaba6038 Mon Sep 17 00:00:00 2001 +From: dormando <dormando@rydia.net> +Date: Thu, 14 Nov 2024 10:04:12 -0800 +Subject: [PATCH] proxy: fix compilation issue on beta RHEL/GCC + +Apparently _rotl no-go as a function name. no idea why but we generally +use the mcp_ and _mcp namespace anyway. + +Fixes #1186 +--- + proxy_lua.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/proxy_lua.c b/proxy_lua.c +index 8a579d7ab..4309f0167 100644 +--- a/proxy_lua.c ++++ b/proxy_lua.c +@@ -1409,13 +1409,13 @@ static int mcplib_log_req(lua_State *L) { + return 0; + } + +-static inline uint32_t _rotl(const uint32_t x, int k) { ++static inline uint32_t _mcp_rotl(const uint32_t x, int k) { + return (x << k) | (x >> (32 - k)); + } + + // xoroshiro128++ 32bit version. +-static uint32_t _nextrand(uint32_t *s) { +- const uint32_t result = _rotl(s[0] + s[3], 7) + s[0]; ++static uint32_t _mcp_nextrand(uint32_t *s) { ++ const uint32_t result = _mcp_rotl(s[0] + s[3], 7) + s[0]; + + const uint32_t t = s[1] << 9; + +@@ -1426,7 +1426,7 @@ static uint32_t _nextrand(uint32_t *s) { + + s[2] ^= t; + +- s[3] = _rotl(s[3], 11); ++ s[3] = _mcp_rotl(s[3], 11); + + return result; + } +@@ -1474,7 +1474,7 @@ static int mcplib_log_reqsample(lua_State *L) { + } else if (rate > 0) { + // slightly biased random-to-rate without adding a loop, which is + // completely fine for this use case. +- uint32_t rnd = (uint64_t)_nextrand(t->proxy_rng) * (uint64_t)rate >> 32; ++ uint32_t rnd = (uint64_t)_mcp_nextrand(t->proxy_rng) * (uint64_t)rate >> 32; + if (rnd == 0) { + do_log = true; + } |