[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