Go to file
Thomas Petazzoni 258bb03811 musl: no SSP on i386 and PowerPC
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>
2017-02-15 13:10:14 +01:00
arch arch: add OpenRISC architecture support 2017-01-25 22:53:53 +01:00
board configs/odroidc2: update boot.ini to 5ce6bcc6d8048ba5ff351516b751d52f5cda6981 2017-02-06 14:03:55 +01:00
boot package: fix reverse dependencies of util-linux 2017-01-28 21:02:51 +13:00
configs configs/mx25pdk: Bump U-Boot and kernel versions 2017-02-09 22:22:21 +01:00
docs docs/website/news.html: fix link to 2017.02-rc1 tarball 2017-02-13 21:01:33 +01:00
fs fs/tar: make --no-recursion effective 2016-12-28 10:13:21 +01:00
linux linux: bump default to version 4.9.9 2017-02-09 12:03:58 +01:00
package musl: no SSP on i386 and PowerPC 2017-02-15 13:10:14 +01:00
support support/test-pkg: report number and types of failures 2017-02-12 16:00:01 +01:00
system system(d): allow auto net configuration with networkd 2017-02-06 17:56:14 +01:00
toolchain toolchain/toolchain-common.in: fix definition of BR2_TOOLCHAIN_HAS_GCC_BUG_64735 2017-02-09 21:31:28 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES CHANGES: final updates before 2017.02-rc1 2017-02-11 15:58:42 +01:00
Config.in package/google-breakpad: really fix the C++11 dependency 2016-12-22 10:36:20 +01:00
Config.in.legacy perl-db-file: remove this package 2016-12-27 18:00:50 +01:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS DEVELOPERS: update my entry list 2017-02-11 16:34:41 +01:00
Makefile package/ccache: do not force colored diagnostics 2017-02-14 20:55:00 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

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