powerpc Linux scv support and scv system call ABI proposal
Segher Boessenkool
segher at kernel.crashing.org
Thu Jan 30 04:51:04 AEDT 2020
On Wed, Jan 29, 2020 at 06:02:34PM +0100, Florian Weimer wrote:
> * Segher Boessenkool:
>
> > On Wed, Jan 29, 2020 at 05:19:19PM +0100, Florian Weimer wrote:
> >> * Segher Boessenkool:
> >> >> But GCC doesn't expose them as integers to C code, so you can't do much
> >> >> without them.
> >> >
> >> > Sure, it doesn't expose any other registers directly, either.
> >>
> >> I can use r0 & 1 with a register variable r0 to check a bit.
> >
> > That is not reliable, or supported, and it *will* break. This is
> > explicit for local register asm, and global register asm is
> > underdefined.
>
> Ugh. I did not know that. And neither did the person who wrote
> powerpc64/sysdep.h because it uses register variables in regular C
> expressions. 8-( Other architectures are affected as well.
Where? I don't see any? Ah, the other one, heh (there are two).
No, that *is* supported: as input to or output from an asm, a local
register asm variable *is* guaranteed to live in the specified register.
This is the *only* supported use. Other uses may sometimes still work,
but they never worked reliably, and it cannot be made reliable; it has
been documented as not supported since ages, and it will not work at all
anymore some day.
Segher
More information about the Linuxppc-dev
mailing list