Go to file
Vicente Olivert Riera 190aa2b98f libffi: fix the build for MIPS soft-float with recent compilers
Recent MIPS compilers have an stricter agreement between the compiler
and the assembler on the ABI. The compiler now passes -msoft-float to
the assembler where it previously did not.

libffi uses MIPS hard-float instructions so when we try to build it for
soft-float using a recent compiler it fails because of the explained
above. This package should be fixed in order to add support for
soft-float.

In the meantime we can add a little hack in order to be able to build it
for soft-float. Basically we add ".set hardfloat" so the assembler will
not disable the hard-float instructions. The build will of course
include some hard-float bits which shouldn't exist in a soft-float
build, and that may cause runtime problems. But that's what we already
had before and we had lived with it.

We choose to apply this temporary fix because it only affects MIPS
soft-float builds. Otherwise we would need to disable libffi and
recursively all the packages depending on it (python, libglib2...) for
MIPS soft-float, which would be a bit overkill.

Fixes:

  http://autobuild.buildroot.net/results/6b0607b7cb0ac5525c2e47e819301f38bd2d6b30/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-18 23:22:14 +01:00
arch Add ARM11 MPCore CPU target support 2016-01-03 22:35:22 +01:00
board orangepipc: readme.txt: fix typo 2016-01-17 22:55:25 +01:00
boot uboot: remove unused helper function insert_define 2016-01-18 10:10:50 +01:00
configs configs/orangepipc: bump u-boot to 2016.01 2016-01-17 22:55:25 +01:00
docs docs/website: fixing mixing content error 2016-01-13 23:07:57 +01:00
fs fs/ext2: add options for extra space and extra inodes 2015-10-31 15:56:56 +01:00
linux perf: remove tests from target 2016-01-16 14:04:57 +01:00
package libffi: fix the build for MIPS soft-float with recent compilers 2016-01-18 23:22:14 +01:00
support support/download: support older bazaar versions 2016-01-18 20:46:04 +01:00
system Makefile: drop ldconfig handling 2016-01-03 21:46:07 +01:00
toolchain toolchain: add 4.4.x choice for headers 2016-01-11 17:32:41 +01:00
.defconfig arch: kill avr32 2015-02-14 17:39:50 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES Update for 2015.11 2015-11-30 23:13:41 +01:00
Config.in Config.in: Add BR2_DEPRECATED_SINCE_2016_02 2016-01-15 18:55:54 +01:00
Config.in.legacy python-pyxml: remove obsolete package 2016-01-01 21:07:07 +01:00
COPYING
Makefile pkg-generic: improve incorrectly used package detection 2016-01-03 22:09:17 +01:00
Makefile.legacy Makefile.legacy: fix recursive invocation with BUILDROOT_DL_DIR and _CONFIG 2014-02-11 08:14:57 +01:00
README README: mention 'make list-defconfigs' 2015-04-04 15:19:43 +02: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.