This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SH atomic asms in glibc and the stack pointer


"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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]