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 c05b5e5d8c
Author: H.J. Lu <hjl.tools@gmail.com>
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 <hjl.tools@gmail.com>
This commit is contained in:
H.J. Lu
2026-05-06 04:56:32 +08:00
parent 3a9643ffe7
commit d54aaab350

View File

@@ -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)