Buildroot fork.
Go to file
Peter Korsgaard 11241ac656 mbedtls: fix x86 PIC build with GCC < 5
Fixes:
http://autobuild.buildroot.net/results/d6d/d6dc9a640aa1f6650a3e7b9397f2fe2ae3433f4d/
http://autobuild.buildroot.net/results/ab5/ab5a58ea7845f9f378454ee1aa7e872448618ba9/

ebx was recently added to the x86 inline asm MULADDC_STOP clobber list to
fix #1550, but this causes the build to fail with GCC < 5 when building in
PIC mode with errors like:

include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’

This is because older GCC versions treated the x86 ebx register (which is
used for the GOT) as a fixed reserved register when building as PIC.

This is fixed by an improved register allocator in GCC 5+.  From the release
notes:

Register allocation improvements: Reuse of the PIC hard register, instead of
using a fixed register, was implemented on x86/x86-64 targets.  This
improves generated PIC code performance as more hard registers can be used.

https://www.gnu.org/software/gcc/gcc-5/changes.html

As a workaround, add a patch to detect this situation and disable the inline
assembly, similar to the MULADDC_CANNOT_USE_R7 logic.

Patch submitted upstream: https://github.com/ARMmbed/mbedtls/pull/1986

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-08-28 09:53:50 +02:00
arch arch: drop now useless support for FDPIC 2018-07-01 15:17:27 +02:00
board sheevaplug: add a basic readme 2018-08-17 16:51:10 +02:00
boot boot/uboot: needs host-{flex,bison} 2018-08-20 16:02:37 +02:00
configs orangepi_zero_defconfig: bump linux to 4.17.15 to include latest fixes 2018-08-17 16:53:00 +02:00
docs docs/manual: expand on why using a branch name is not supported 2018-08-25 00:04:40 +02:00
fs fs: ensure hard links in TARGET_DIR are correctly copied for filesystem input 2018-05-27 23:46:29 +02:00
linux linux: bump default to version 4.17.19 2018-08-24 18:17:52 +02:00
package mbedtls: fix x86 PIC build with GCC < 5 2018-08-28 09:53:50 +02:00
support download: fix file:// BR2_PRIMARY_SITE (download cache) 2018-08-21 00:24:29 +02:00
system skeleton: PAGER without blank and unset at end of for loop 2018-06-05 18:50:49 +02:00
toolchain toolchain: improve musl check to support static toolchains 2018-08-21 22:11:51 +02:00
utils utils/test-pkg: log the output of merge-config 2018-07-10 23:01:47 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml support/testing: add test for file capabilities 2018-08-10 08:25:51 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: extend check-package test to Config.* files 2018-04-01 10:16:35 +02:00
CHANGES Update for 2018.08-rc2 2018-08-20 10:55:03 +02:00
Config.in Config.in: add BR2_HOST_GCC_AT_LEAST_8 2018-05-02 14:50:14 +02:00
Config.in.legacy package/x11r7/xserver_xorg-server: bump version to 1.20.0 2018-07-28 23:10:41 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS DEVELOPERS: add mender to Mirza Krak 2018-08-22 13:14:26 +02:00
Makefile Update for 2018.08-rc2 2018-08-20 10:55:03 +02: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