[PATCH] PPC32 cancellation support
Ulrich Drepper
drepper@redhat.com
Sat Jan 4 20:22:00 GMT 2003
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?
--
--------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
More information about the Libc-alpha
mailing list