Hi Richard, Thanks for your feedback on this !
> On 12 Dec 2018, at 18:21, Richard Earnshaw (lists) <richard.earns...@arm.com> > wrote: > > libffi is a separate project; so a patch for that needs to be sent to > the libffi maintainers. Oh, I hadn't realized that. > However, that introduces an issue that that > code is potentially used across multiple versions of gcc, with > potentially different choices of the static chain register. Hmm, this > might need some more careful thought.... Indeed. > I'm also not keen on the fact that we are now seriously eating into the > space of call clobbered registers; what's the argument behind your > selection of r11 as opposed to any other register? No super strong motivation for r11 in particular. The primary goal is to get to something else than r18 to accommodate configurations where r18 is used by the runtime environment, as allowed by the ABI and which at least VxWorks leverages. https://gcc.gnu.org/ml/gcc-patches/2018-10/msg01125.html suggested r9, then I discovered that r9 and r10 were used by the stack probing mechanism, so I just picked the following one that didn't seem to be used for other purposes already. > On Arm we manage > with IP; is there some reason why we can't do something similar on AArch64? I am unfortunately not familiar enough with the port to tell out of the top of my head. Maybe Kyrill, James or Wilco (cc'ed) would know ?