External email: Use caution opening links or attachments
I think the macro RETURN_ADDRESS from Base.h should be used instead of
direct use of the builtin.
Mike
> -----Original Message-----
> From: Name jake@nvidia.com <Name jake@nvidia.com>
> Sent: Tuesday, October 3, 2023 6:20 AM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Jake
> Garver <jake@nvidia.com>
> Subject: [PATCH] BaseStackCheckLib: Fix STACK FAULT message
>
> From: Jake Garver <jake@nvidia.com>
>
> __builtin_return_address returns a pointer, not a string. Fix the STACK
> FAULT message in BaseStackCheckLib appropriately.
>
> Signed-off-by: Jake Garver <jake@nvidia.com>
> ---
> MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c
> b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c
> index 0d2918668e..3b970391b7 100644
> --- a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c
> +++ b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c
> @@ -34,7 +34,7 @@ __stack_chk_fail (
> {
> UINT8 DebugPropertyMask;
>
> - DEBUG ((DEBUG_ERROR, "STACK FAULT: Buffer Overflow in function %a.\n",
> __builtin_return_address (0)));
> + DEBUG ((DEBUG_ERROR, "STACK FAULT: Buffer Overflow at 0x%p.\n",
> __builtin_return_address (0)));
>
> //
> // Generate a Breakpoint, DeadLoop, or NOP based on PCD settings even if
> --
> 2.34.1