e0eec7a4f7
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>
51 lines
1.2 KiB
Plaintext
51 lines
1.2 KiB
Plaintext
config BR2_PACKAGE_PHP
|
|
bool "php"
|
|
select BR2_PACKAGE_PHP_SAPI_CGI if \
|
|
!BR2_PACKAGE_PHP_SAPI_APACHE && \
|
|
!BR2_PACKAGE_PHP_SAPI_CLI && \
|
|
!BR2_PACKAGE_PHP_SAPI_FPM && \
|
|
BR2_USE_MMU
|
|
select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU
|
|
# PHP uses -export-dynamic, which breaks with elf2flt with a
|
|
# message like "ld.real: section .junk LMA [...,...] overlaps
|
|
# section .text LMA [...,...]"
|
|
depends on !BR2_BINFMT_FLAT
|
|
help
|
|
PHP is a widely-used general-purpose scripting
|
|
language that is especially suited for Web development
|
|
and can be embedded into HTML.
|
|
|
|
http://www.php.net
|
|
|
|
if BR2_PACKAGE_PHP
|
|
|
|
config BR2_PACKAGE_PHP_SAPI_APACHE
|
|
bool "Apache interface"
|
|
depends on BR2_PACKAGE_APACHE
|
|
help
|
|
Apache module
|
|
|
|
config BR2_PACKAGE_PHP_SAPI_CGI
|
|
bool "CGI interface"
|
|
# CGI uses fork()
|
|
depends on BR2_USE_MMU
|
|
help
|
|
Common Gateway Interface
|
|
|
|
config BR2_PACKAGE_PHP_SAPI_CLI
|
|
bool "CLI interface"
|
|
help
|
|
Command Line Interface
|
|
|
|
config BR2_PACKAGE_PHP_SAPI_FPM
|
|
bool "FPM interface"
|
|
depends on BR2_USE_MMU
|
|
# "Sparc v8 and predecessors are not and will not be supported"
|
|
depends on !BR2_sparc
|
|
help
|
|
PHP-FPM (FastCGI Process Manager)
|
|
|
|
source "package/php/Config.ext"
|
|
|
|
endif
|