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

2021-08-02 Thread Michael Ellerman
Michael Ellerman writes: > 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 rest

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

2021-08-01 Thread Michael Ellerman
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 t

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

2021-07-30 Thread Segher Boessenkool
On Thu, Jul 29, 2021 at 09:25:43AM -0700, Nick Desaulniers wrote: > On Thu, Jul 29, 2021 at 6:42 AM Paul Menzel wrote: > > Am 29.07.21 um 15:12 schrieb Michael Ellerman: > > > Note this only works with GCC, clang does not support -ffixed-rN. > > > > Maybe the clang/LLVM build support folks (in CC)

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

2021-07-29 Thread Nick Desaulniers
On Thu, Jul 29, 2021 at 6:42 AM Paul Menzel wrote: > > Dear Michael, > > > Am 29.07.21 um 15:12 schrieb Michael Ellerman: > > 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-volatil

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

2021-07-29 Thread Paul Menzel
Dear Michael, Am 29.07.21 um 15:12 schrieb Michael Ellerman: 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

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

2021-07-29 Thread Michael Ellerman
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