From d54aaab350d4224c458b50af473b5ea6bb9e14a4 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 6 May 2026 04:56:32 +0800 Subject: [PATCH] libssp: Change __stack_chk_guard to uintptr_t Since the only test of __stack_chk_guard in GCC is declared as an integer: #ifdef __LP64__ const unsigned long int __stack_chk_guard = 0x2d853605a4d9a09cUL; #else const unsigned long int __stack_chk_guard = 0xdd2cc927UL; #endif and it is natural to assign an integer to __stack_chk_guard, commit c05b5e5d8cb660ed43159d66fd669c20746d6bea Author: H.J. Lu Date: Fri Sep 12 18:52:39 2025 -0700 c/c++: Declare stack protection guard as a global symbol declared __stack_chk_guard as uintptr_t if it is an internal global symbol. Change __stack_chk_guard in libssp to match the internal symbol type. PR c/121911 * ssp.c: Include . Change __stack_chk_guard to uintptr_t. Signed-off-by: H.J. Lu --- libssp/ssp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libssp/ssp.c b/libssp/ssp.c index 3f497dcc137..47abdf4e13d 100644 --- a/libssp/ssp.c +++ b/libssp/ssp.c @@ -66,8 +66,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #ifdef HAVE_SYSLOG_H # include #endif +#include -void *__stack_chk_guard = 0; +uintptr_t __stack_chk_guard = 0; static void __attribute__ ((constructor)) __guard_setup (void)