Jess:
  In the commit message, below line is too long that can't pass patch check. 
Can you move this line from the commit message to BZ?

[1] 
https://github.com/llvm/llvm-project/commit/41af97137572ad6d4dafc872e7ecf6bbb08d4984

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Liming Gao
Sent: 2020年7月21日 10:30
To: Jessica Clarke <jrt...@jrtc27.com>
Cc: devel@edk2.groups.io; l...@nuviainc.com; Kinney, Michael D 
<michael.d.kin...@intel.com>
Subject: Re: [edk2-devel] [PATCH] MdePkg Base.h: Delete prototype for 
__builtin_return_address

Jess:
  OK. Seemly, there is no impact with this change. Reviewed-by: Liming Gao 
<liming....@intel.com>

Thanks
Liming
-----Original Message-----
From: Jessica Clarke <jrt...@jrtc27.com>
Sent: 2020年7月20日 23:06
To: Gao, Liming <liming....@intel.com>
Cc: devel@edk2.groups.io; l...@nuviainc.com; Kinney, Michael D 
<michael.d.kin...@intel.com>
Subject: Re: [edk2-devel] [PATCH] MdePkg Base.h: Delete prototype for 
__builtin_return_address

It will always look like void *__builtin_return_address(unsigned) and work like 
that, just that under the hood it's being implemented slightly differently, 
which has the unfortunate side-effect of triggering this bug. We've been 
compiling the embedded EDK2 in our CheriBSD with that line deleted for years 
now with no issue.

Jess

> On 20 Jul 2020, at 15:58, Gao, Liming <liming....@intel.com> wrote:
> 
> Clarke:
>  Do you mean CLANG compiler may have the different prototype for 
> __builtin_return_address()? If so, dose __builtin_return_address (L) always 
> work? 
> 
> Thanks
> Liming
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Leif 
>> Lindholm
>> Sent: Monday, July 20, 2020 10:05 PM
>> To: Jessica Clarke <jrt...@jrtc27.com>
>> Cc: devel@edk2.groups.io; Kinney, Michael D 
>> <michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>
>> Subject: Re: [edk2-devel] [PATCH] MdePkg Base.h: Delete prototype for 
>> __builtin_return_address
>> 
>> +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/41af97137572ad6d4dafc872
>>> e7ecf6bbb08d4984
>>> 
>>> 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 (#63168): https://edk2.groups.io/g/devel/message/63168
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