svn commit: r355045 - head/libexec/rtld-elf/powerpc

Brandon Bergren freebsd at bdragon.rtk0.net
Sun Nov 24 16:32:45 UTC 2019


On Sun, Nov 24, 2019, at 7:04 AM, Konstantin Belousov wrote:
> On Sun, Nov 24, 2019 at 04:35:29AM +0000, Justin Hibbits wrote:
> > Author: jhibbits
> > Date: Sun Nov 24 04:35:29 2019
> > New Revision: 355045
> > URL: https://svnweb.freebsd.org/changeset/base/355045
> > 
> > Log:
> >   rtld/powerpc: Fix _rtld_bind_start for powerpcspe
> >   
> >   Summary:
> >   We need to save off the full 64-bit register, not just the low 32 bits,
> >   of all registers getting saved off in _rtld_bind_start.  Additionally,
> >   we need to save off the other SPE registers (SPEFSCR and accumulator),
> >   so that their program state is not affected by the PLT resolver.
> Why do you need to save these registers ?  Why would rtld touch them ?
> 
Out of a need to make the binder as invisible as possible when interacting with code that may or may not be following the normal ABI rules regarding who is responsible for saving stuff.

It's not just C code using it.


More information about the svn-src-all mailing list