edk2/MdePkg/Library/StackCheckLibNull
Oliver Smith-Denny 59a6c3a4a7 MdePkg: StackCheckLib: Update __stack_chk_guard for GCC 17
GCC 17 (upcoming release) is updating the type of
__stack_chk_guard from a void * to a uintptr_t.

This is only a type change, not a size change. However,
it does cause the GCC 17 build to fail because of the
type mismatch.

uintptr_t is defined as unsigned long, which is not
a type edk2 defines. It has the same size as UINTN
on a given system, but on 64 bit systems we have the
same type issue because UINTN is defined as unsigned long long,
not unsigned long.

To work around this and avoid defining a new type in edk2,
use the compiler built in __UINTPTR_TYPE__ which is the
underlying definition in GCC.

This is a backwards compatible change with previous versions
of GCC and CLANGDWARF but also fixes the upcoming definition
change for GCC 17.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-05-28 07:37:09 +00:00
..
IA32 MdePkg: Create Stack Check Null Libs 2024-09-13 03:58:46 +00:00
X64 MdePkg: Create Stack Check Null Libs 2024-09-13 03:58:46 +00:00
StackCheckLibHostApplicationMsvc.c MdePkg: Create Stack Check Null Libs 2024-09-13 03:58:46 +00:00
StackCheckLibNull.inf MdePkg: Create Stack Check Null Libs 2024-09-13 03:58:46 +00:00
StackCheckLibNullGcc.c MdePkg: StackCheckLib: Update __stack_chk_guard for GCC 17 2026-05-28 07:37:09 +00:00
StackCheckLibNullHostApplication.inf MdePkg: Create Stack Check Null Libs 2024-09-13 03:58:46 +00:00
StackCheckLibNullMsvc.c MdePkg: Add StackCheckLib Library Class 2025-02-07 02:23:11 +00:00