This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 3/3] elf/dl-lookup.c: Use __glibc_likely and __glibc_unlikely
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Will Newton <will dot newton at linaro dot org>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 11 Apr 2014 23:15:25 +0200
- Subject: Re: [PATCH 3/3] elf/dl-lookup.c: Use __glibc_likely and __glibc_unlikely
- Authentication-results: sourceware.org; auth=none
- References: <1397230188-14581-1-git-send-email-will dot newton at linaro dot org> <1397230188-14581-3-git-send-email-will dot newton at linaro dot org>
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?