SH atomic asms in glibc and the stack pointer
Kaz Kojima
kkojima@rr.iij4u.or.jp
Tue Nov 29 23:23:00 GMT 2011
"Joseph S. Myers" <joseph@codesourcery.com> wrote:
> This asm doesn't tell the compiler that r15 is temporarily saved and
> restored, and marking it as clobbering the stack pointer is unlikely to
> work. It might be possible to avoid problems by marking all the inputs
> that are used while the stack pointer has its special value as being
> read/write operands, so they do not get assigned to the stack pointer, or
> by clobbering additional fixed registers that are used to load the input
> values at the start of the asm. But both of these seem inefficient
> (requiring extra registers to be allocated) when what's actually required
> is simply to allocate the inputs to any register other than r15. So in my
> view the best fix is to add a new constraint that means "any
> general-purpose register other than r15" and to use it in glibc when the
> compiler version is new enough. That is what these GCC and glibc patches
> do. Comments? OK?
OK. Thanks for fixing this!
Uli, could you please approve the libc patch?
Regards,
kaz
More information about the Libc-alpha
mailing list