This problem still exists on binutils 2.33 when -fvisibility=hidden is passed to cflags. I imagine this is so due to some conflicting code where the forced B.W is only generated for static functions, since non-static ones will be relocated differently, but then because of -fvisibility=hidden, they get treated like statics, only B is used instead of the forced B.W, causing this issue to crop up again.
This problem still exists on binutils 2.33 when -fvisibility=hidden is passed to cflags. I imagine this is so due to some conflicting code where the forced B.W is only generated for static functions, since non-static ones will be relocated differently, but then because of -fvisibility= hidden, they get treated like statics, only B is used instead of the forced B.W, causing this issue to crop up again.
OpenWRT experienced this when including WireGuard on a new board. I fixed it like this: https:/ /git.zx2c4. com/wireguard- linux-compat/ commit/ ?id=178cdfffb99 f2fd6fb4a5bfd2f 9319461d93f53b