[Buildroot] [PATCH] eglibc: defaults to SSP
thomas.petazzoni at free-electrons.com
Fri Aug 23 19:09:31 UTC 2013
Dear Gustavo Zacarias,
On Sat, 27 Jul 2013 11:32:04 -0300, Gustavo Zacarias wrote:
> And it doesn't seem to do anything when disabling it.
> Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
> toolchain/toolchain-buildroot/Config.in.2 | 1 +
> 1 file changed, 1 insertion(+)
> diff --git a/toolchain/toolchain-buildroot/Config.in.2 b/toolchain/toolchain-buildroot/Config.in.2
> index bf27e6b..f42d776 100644
> --- a/toolchain/toolchain-buildroot/Config.in.2
> +++ b/toolchain/toolchain-buildroot/Config.in.2
> @@ -19,6 +19,7 @@ comment "C++ support broken in uClibc with locale enabled with gcc 4.2"
> config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
> bool "Enable stack protection support"
> + depends on !BR2_TOOLCHAIN_BUILDROOT_EGLIBC
> Enable stack smashing protection support using GCCs
> -fstack-protector-all option.
I'm jumping on this as I was looking in a bit more details at the SSP
support. It seems that GCC itself has a libssp library, and some
external toolchains (such as the Linaro one) has a libssp.so that is
apparently provided by GCC, while usually the SSP symbols
(__stack_chk_fail and al.) are provided by the C library.
Currently BR2_TOOLCHAIN_BUILDROOT_USE_SSP is a toolchain option of the
Buildroot internal backend. But what if I want to use SSP support with
an external toolchain? You made this symbol depend
on !BR2_TOOLCHAIN_BUILDROOT_EGLIBC, but BR2_TOOLCHAIN_BUILDROOT_USE_SSP
is also used to add the -fstack-protector-all to the CFLAGS when
compiling all packages, which is also useful when eglibc is used, no?
Thanks for your insights,
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
More information about the buildroot