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] elf/dl-lookup.c: Use __glibc_likely and __glibc_unlikely


On Fri, Apr 11, 2014 at 04:29:48PM +0100, Will Newton wrote:
> Convert all uses of __builtin_expect to __glibc_likely and
> __glibc_unlikely. Most of these are trivial boolean expressions
> but a few were not. In particular the use of __builtin_expect in
> the switch expression in do_lookup_x has been removed. Verified
> that there are no code changes on x86_64 and ARM aside from line
> numbers.
>
mostly ok, with following nits

>  {
>    unsigned int stt = ELFW(ST_TYPE) (sym->st_info);
>    assert (ELF_RTYPE_CLASS_PLT == 1);
> -  if (__builtin_expect ((sym->st_value == 0 /* No value.  */
> -			 && stt != STT_TLS)
> -			|| ELF_MACHINE_SYM_NO_MATCH (sym)
> -			|| (type_class & (sym->st_shndx == SHN_UNDEF)),
> -			0))
> +  if (__glibc_unlikely((sym->st_value == 0 /* No value.  */
> +			&& stt != STT_TLS)
> +		       || ELF_MACHINE_SYM_NO_MATCH (sym)
> +		       || (type_class & (sym->st_shndx == SHN_UNDEF))))
>      return NULL;
space before (.

>  	{
>  	found_it:
> -	  switch (__builtin_expect (ELFW(ST_BIND) (sym->st_info), STB_GLOBAL))
> +	  switch (ELFW(ST_BIND) (sym->st_info))

why did you dropped expect?


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