Due to what appears a bug in gcc according to the musl developers, but that the gcc developers don't want to fix, SSP support currently don't work on i386 and PowerPC with musl. Additional details can be found at: http://www.openwall.com/lists/musl/2016/12/04/2 OpenWRT and Alpine Linux both have musl and gcc patches to work around the issue, but in the context of Buildroot, we at this point don't care enough about SSP support specifically with musl on those architectures to carry additional patches. Currently, having SSP enabled with musl/i386 causes a number of build failures in the autobuilders: cups, ipmiutil, openssh, ruby, stunnel, sudo and mosh at least all fail to build because of this. So we simply disable SSP support in the toolchain when musl is used on i386 and PowerPC. The PowerPC case is not tested in the autobuilders, but has been reproduced locally and is also fixed by this patch. Fixes: mosh http://autobuild.buildroot.net/results/60aa12f1aed08e3b7a98f9ce7091bee3a44d692c/ ipmi-util http://autobuild.buildroot.net/results/fb9a071b8739527f424cfe2886ec480f438f70ab/ cups http://autobuild.buildroot.net/results/486dea944d6ecba5c4e6e8ac664261c1909f4b4c/ openssh http://autobuild.buildroot.net/results/742a8bf4726de6e9ba6926e3fb6019a434454e48/ sudo http://autobuild.buildroot.net/results/682531f368c4e982cafe9e625dd41f6d8c7f93f9/ ruby http://autobuild.buildroot.net/results/dac660f96c7f85e933a6b82cf61edd429eeae9aa/ stunnel http://autobuild.buildroot.net/results/cee52505f1ac2da2f5ba86c9ebfd1f5cd9e301be/ Thanks to Yann E. Morin for suggesting to simply disable SSP support rather than trying to fix it. [Peter: add comment explaining why] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
.defconfig | ||
.gitignore | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches