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: [PATCH 3/3] Add adaptive elision to rwlocks v2


> This is wrong for x32.  We need something like

Ok. Looks good to me. I assume you'll handle it.

-Andi

> 
> diff --git a/sysdeps/x86/nptl/bits/pthreadtypes.h
> b/sysdeps/x86/nptl/bits/pthreadtypes.h
> index b04c32b..bfb9034 100644
> --- a/sysdeps/x86/nptl/bits/pthreadtypes.h
> +++ b/sysdeps/x86/nptl/bits/pthreadtypes.h
> @@ -185,12 +185,17 @@ typedef union
>      int __writer;
>      int __shared;
>      signed char __rwelision;
> +#  ifdef __ILP32__
> +    unsigned char __pad1[3];
> +#   define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0 }
> +#  else
>      unsigned char __pad1[7];
> +#   define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
> +#  endif
>      unsigned long int __pad2;
>      /* FLAGS must stay at this position in the structure to maintain
>         binary compatibility.  */
>      unsigned int __flags;
> -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
>  # define __PTHREAD_RWLOCK_INT_FLAGS_SHARED  1
>    } __data;
>  # else
> 
> 
> H.J.

-- 
ak@linux.intel.com -- Speaking for myself only


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