[Buildroot] [PATCH 1/1] package/ruby: disable use of stack protector when not available
Gustavo Zacarias
gustavo at zacarias.com.ar
Thu Sep 17 10:25:05 UTC 2015
On 16/09/15 18:46, Brendan Heading wrote:
>> Thanks for the update. However, notice that the toolchain at
>> http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.08-rc1-38-gad0f85e.tar.bz2
>> is capable of building sudo and ruby, even if:
>>
>> 1/ It is using uClibc-ng 1.0.5
>> 2/ It has SSP disabled: #undef __UCLIBC_HAS_SSP__
>>
>> So it's not simply a matter of uClibc vs. uClibc-ng, since one
>> uClibc-ng toolchains works fine.
>
> Thomas,
>
> thanks for the tip - I will find out why that scenario seems to work,
> after I've identified the failure mode of the one I'm looking at now.
Hi.
See
http://git.buildroot.net/buildroot/tree/package/samba4/0002-build-improve-stack-protector-check.patch
I've pointed Vicente to that problem when bumping to samba 4.3.0, and
from the test in Ruby's configure.in i'm 99% certain we're seeing the
same issue - the compiler optimizes away any stack usage when the test
program does nothing, hence building/linking inserts no guards, thus "it
works" (though not quite in reality).
The solution is having a foolproof test that can't be optimized away,
unfortunately many packagers/developers use this simplified test that is
flawed, it will require a lot of education to properly fix :)
(test program formulated together with Vicente and Arnout).
Regards.
More information about the buildroot
mailing list