* H. J. Lu:

> 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?

I like to have a macro that tells us that in installed header files, we
can declare the guard variable with hidden visibility.  It simplifies
the compile-time handshake between GCC and glibc.

Thanks,
Florian

Reply via email to