[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] minios: Fix incorrect {, un}likely() definitions



Andrew Cooper, le Mon 30 Jun 2014 16:57:15 +0100, a écrit :
> As identified in e5545fb6, likely() and unlikely() must convert their
> expressions to booleans before comparing to 1 or 0, to avoid truncation
> issues.
> 
> While editing this file, add inclusion guards.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> CC: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>

Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>

> ---
>  extras/mini-os/include/compiler.h |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/extras/mini-os/include/compiler.h 
> b/extras/mini-os/include/compiler.h
> index e35c9d5..4188277 100644
> --- a/extras/mini-os/include/compiler.h
> +++ b/extras/mini-os/include/compiler.h
> @@ -1,5 +1,10 @@
> +#ifndef __MINIOS_COMPILER_H_
> +#define __MINIOS_COMPILER_H_
> +
>  #if __GNUC__ == 2 && __GNUC_MINOR__ < 96
>  #define __builtin_expect(x, expected_value) (x)
>  #endif
> -#define unlikely(x)  __builtin_expect((x),0)
> -#define likely(x)  __builtin_expect((x),1)
> +#define unlikely(x)  __builtin_expect(!!(x),0)
> +#define likely(x)    __builtin_expect(!!(x),1)
> +
> +#endif /* __MINIOS_COMPILER_H_ */
> -- 
> 1.7.10.4
> 

-- 
Samuel
> No manual is ever necessary.
May I politely interject here: BULLSHIT.  That's the biggest Apple lie of all!
(Discussion in comp.os.linux.misc on the intuitiveness of interfaces.)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.