Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Ard Biesheuvel
> Sent: Friday, August 12, 2016 2:21 AM
> To: [email protected]; [email protected]; [email protected]; Gao,
> Liming <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Subject: [edk2] [PATCH 3/3] MdePkg RVCT: add definition of UNREACHABLE
> 
> The RVCT compiler in --gnu mode appears to simply strip of the __builtin
> prefix when it encounters calls to __builtin_xxx() functions, and so
> the __builtin_unreachable() we emit for GCC results in linker errors
> regarding undefined references against 'unreachable()'.
> 
> So define UNREACHABLE() to a NOP instead.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
>  MdePkg/Include/Arm/ProcessorBind.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/MdePkg/Include/Arm/ProcessorBind.h
> b/MdePkg/Include/Arm/ProcessorBind.h
> index c2482c2f50f0..5ee7465c05a3 100644
> --- a/MdePkg/Include/Arm/ProcessorBind.h
> +++ b/MdePkg/Include/Arm/ProcessorBind.h
> @@ -28,6 +28,13 @@
>  #pragma pack()
>  #endif
> 
> +//
> +// RVCT does not support the __builtin_unreachable() macro
> +//
> +#ifdef __ARMCC_VERSION
> +#define UNREACHABLE()
> +#endif
> +
>  #if _MSC_EXTENSIONS
>    //
>    // use Microsoft* C complier dependent integer width types
> --
> 2.7.4
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to