https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125205
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Rainer Orth from comment #5)
> On Linux/i686 the __stack_chk_fail_local reference is resolved from
>
> /usr/lib32/libc_nonshared.a
>
> which gets dragged in by /lib/../lib32/libc.so:
>
> /* GNU ld script
> Use the shared library, but some functions are only in
> the static library, so try that secondarily. */
> OUTPUT_FORMAT(elf32-i386)
> GROUP ( /lib32/libc.so.6 /usr/lib32/libc_nonshared.a AS_NEEDED (
> /lib/ld-linux.
> so.2 ) )
>
> Solaris has no such think, so would need to link with -lssp_nonshared
> instead!?
You need to find a way to support __attribute__ ((optimize
("stack-protector-all")))
on Solaris or disallow it on Solaris.