Go to file
Thomas Petazzoni e0eec7a4f7 php: disable on configurations using BR2_BINFMT_FLAT
BR2_BINFMT_FLAT configurations require the use of elf2flt. However,
PHP uses -export-dynamic which breaks badly with elf2flt. Even a
simple program fails to build:

$ ./output/host/bin/arm-linux-gcc -Wl,-export-dynamic -o toto toto.c
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: section .junk LMA [0000000000000000,0000000000000027] overlaps section .text LMA [0000000000000000,0000000000006d07]

-export-dynamic is clearly not useful for FLAT configurations, which
are always statically linked, but it's quite a bit of work to change
the PHP build system to use it only conditionall.

It looks more like an interaction bug between gcc (which wants to put
the .text section at address 0x0 in its linker script) and elf2flt,
which wants to put its .junk section (containing the .rel.text stuff)
also at address 0x0.

Fixes (works around) the "section overlap" part of:

  http://autobuild.buildroot.net/results/35cbed8927bb10500ecf2816aa728ea240a0be21/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-26 23:45:39 +01:00
arch
board
boot uboot: revert "uboot: use local libfdt.h" 2018-02-25 22:40:22 +01:00
configs
docs docs/manual: add documentation for the "make sdk" target 2018-02-25 23:26:28 +01:00
fs fs/cpio/init: preserve arguments 2018-02-26 20:49:40 +01:00
linux linux: bump default to version 4.15.6 2018-02-26 13:39:51 +01:00
package php: disable on configurations using BR2_BINFMT_FLAT 2018-02-26 23:45:39 +01:00
support check-bin-arch: skip /lib/modules to allow 32-bit userland on 64-bit arch 2018-02-25 23:16:05 +01:00
system
toolchain
utils
.defconfig
.flake8
.gitignore
.gitlab-ci.yml
.gitlab-ci.yml.in
CHANGES Update for 2018.02-rc2 2018-02-15 23:03:43 +01:00
Config.in
Config.in.legacy
COPYING
DEVELOPERS DEVELOPERS: Free Electrons is now Bootlin 2018-02-14 21:30:22 +01:00
Makefile Update for 2018.02-rc2 2018-02-15 23:03:43 +01:00
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