On Tue, Feb 3, 2026 at 12:26 AM Jason Merrill <[email protected]> wrote: > > On 2/2/26 7:25 AM, H.J. Lu wrote: > > On Sun, Feb 1, 2026 at 10:27 AM Jason Merrill <[email protected]> wrote: > >> > >> On 1/31/26 8:11 PM, H.J. Lu wrote: > >>> Change in the v8 patch: > >>> > >>> 1. __stack_chk_guard must be an uintptr_t variable. > >>> 2. Remove c_stack_protect_guard_decl_p and > >>> duplicate_stack_protect_guard_decl_p. > >> > >> Thanks. > >> > >>> @@ -926,7 +926,7 @@ default_stack_protect_guard (void) > >>> > >>> t = build_decl (UNKNOWN_LOCATION, > >>> VAR_DECL, get_identifier ("__stack_chk_guard"), > >>> - ptr_type_node); > >>> + lang_hooks.types.type_for_mode (ptr_mode, 1)); > >> > >> Should this change be conditional on > >> targetm.stack_protect_guard_symbol_p ()? > > > > Changed. > > > >>> + /* Define this to indicate that the stack protection guard symbol, > >>> + "__stack_chk_guard", is an internal symbol. */ > >>> + if (targetm.stack_protect_guard_symbol_p ()) > >>> + cpp_define (pfile, "__stack_protection_guard_is_internal_symbol__"); > >> > >> Why "internal"? I read "internal" as internal linkage, i.e. "static", > >> and in the testcases the symbols all have external linkage, and it's > >> based on TARGET_SSP_GLOBAL_GUARD. > >> > >> Maybe the macro should be something like > >> __stack_protection_guard_declared__? > > > > Changed. > > Actually, do we need the macro at all? How will user code differ based > on whether it's defined? The existing ssp-global.c suggests that people > could already define __stack_chk_guard before this patch. >
Florian, you asked for a macro. How will it be used? -- H.J.
