On 05/06/15 16:55, Richard Henderson wrote: > On 06/04/2015 03:40 AM, Richard Earnshaw wrote: >> The static chain register is pretty much private to a translation unit... > > That was true when the static chain was restricted to trampolines. > Since Go has started using it for cross-translation-unit closures, that > makes it part of the ABI. > > I did raise this issue at the start of the year, when I submitted the > patches. At the time, folks seemed ok with the additional restriction. > > > r~
That's going to make it impossible to implement Go closures on AArch32, then, since the only call-clobbered register not used for parameter passing is r12 (ip) and that can be clobbered by function calls. R.