https://gcc.gnu.org/g:d54aaab350d4224c458b50af473b5ea6bb9e14a4
commit r17-342-gd54aaab350d4224c458b50af473b5ea6bb9e14a4 Author: H.J. Lu <[email protected]> Date: Wed May 6 04:56:32 2026 +0800 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 <[email protected]> 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 <stdint.h>. Change __stack_chk_guard to uintptr_t. Signed-off-by: H.J. Lu <[email protected]> Diff: --- libssp/ssp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libssp/ssp.c b/libssp/ssp.c index 3f497dcc1370..47abdf4e13d6 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 <syslog.h> #endif +#include <stdint.h> -void *__stack_chk_guard = 0; +uintptr_t __stack_chk_guard = 0; static void __attribute__ ((constructor)) __guard_setup (void)
