[PATCH] PPC32 cancellation support
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Sat Jan 4 20:33:00 GMT 2003
On Saturday 04 January 2003 21:22, Ulrich Drepper wrote:
> Franz Sirl wrote:
> > +# ifndef __ASSEMBLER__
> > +extern int __local_multiple_threads attribute_hidden;
> > +# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads ==
> > 0, 1) +# else
> > +# if !defined PIC
> > +# define SINGLE_THREAD_P \
> > + lis 10,__local_multiple_threads@ha; \
> > + lwz 10,__local_multiple_threads@l(10); \
> > + cmpwi 10,0
> > +# else
> > +# if !defined HAVE_HIDDEN || !USE___THREAD
> > +# define SINGLE_THREAD_P \
> > + mflr 9; \
> > + bl _GLOBAL_OFFSET_TABLE_@local-4; \
> > + mflr 10; \
> > + mtlr 9; \
> > + lwz 10,__local_multiple_threads@got(10); \
> > + lwz 10,0(10); \
> > + cmpwi 10,0
> > +# else
> > +# define SINGLE_THREAD_P \
> > + mflr 9; \
> > + bl _GLOBAL_OFFSET_TABLE_@local-4; \
> > + mflr 10; \
> > + mtlr 9; \
> > + lwz 10,__local_multiple_threads@got(10); \
> > + lwz 10,0(10); \
> > + cmpwi 10,0
> > +# endif
> > +# endif
> > +# endif
>
> Do I mis something or are the two SINGLE_THREAD_P asm constructs identical?
You are right, I copied the duplication from somewhere (m68k I think) and I
kept it until I really know if I have to discriminate at all on PPC32. You
can remove it for now if you don't like it.
Franz.
More information about the Libc-alpha
mailing list