[PATCH] powerpc/vdso: Don't use r30 to avoid breaking Go lang

Michael Ellerman patch-notifications at ellerman.id.au
Sun Aug 1 23:14:00 AEST 2021


On Thu, 29 Jul 2021 23:12:44 +1000, Michael Ellerman wrote:
> The Go runtime uses r30 for some special value called 'g'. It assumes
> that value will remain unchanged even when calling VDSO functions.
> Although r30 is non-volatile across function calls, the callee is free
> to use it, as long as the callee saves the value and restores it before
> returning.
> 
> It used to be true by accident that the VDSO didn't use r30, because the
> VDSO was hand-written asm. When we switched to building the VDSO from C
> the compiler started using r30, at least in some builds, leading to
> crashes in Go. eg:
> 
> [...]

Applied to powerpc/fixes.

[1/1] powerpc/vdso: Don't use r30 to avoid breaking Go lang
      https://git.kernel.org/powerpc/c/a88603f4b92ecef9e2359e40bcb99ad399d85dd7

cheers


More information about the Linuxppc-dev mailing list