+Mike, Liming

On Mon, Jul 20, 2020 at 14:49:46 +0100, Jessica Clarke wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1004
> 
> Being a compiler builtin, the type of __builtin_return_address is
> already known to the compiler so no prototype is needed. Clang also
> errors out when redeclaring certain builtins like this[1], though
> currently only for ones with custom type checking. At the moment,
> __builtin_return_address does not use custom type checking and so does
> not trigger this error, however, the CHERI fork of LLVM, which will form
> the basis of the toolchain for Arm's experimental Morello platform, does
> use custom type checking for it, and so gives an error. Thus, simply
> delete the unnecessary line.
> 
> [1] 
> https://github.com/llvm/llvm-project/commit/41af97137572ad6d4dafc872e7ecf6bbb08d4984
> 
> Cc: Leif Lindholm <l...@nuviainc.com>
> Signed-off-by: Jessica Clarke <jrt...@jrtc27.com>
> ---
>  MdePkg/Include/Base.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
> index 85a091b9d5..8e4271f6ea 100644
> --- a/MdePkg/Include/Base.h
> +++ b/MdePkg/Include/Base.h
> @@ -1273,7 +1273,6 @@ typedef UINTN RETURN_STATUS;
>    **/
>    #define RETURN_ADDRESS(L)     ((L == 0) ? _ReturnAddress() : (VOID *) 0)
>  #elif defined (__GNUC__) || defined (__clang__)
> -  void * __builtin_return_address (unsigned int level);

Agreed this looks somewhat bonkers.
And I can't see any ill effects from dropping it, so:
Reviewed-by: Leif Lindholm <l...@nuviainc.com>

>    /**
>      Get the return address of the calling function.
>  
> -- 
> 2.20.1
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#62839): https://edk2.groups.io/g/devel/message/62839
Mute This Topic: https://groups.io/mt/75682100/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to