fb72418160
Commit 2cfa86a54882(package/erlang: bump version to 26.0.2) added a patch to restore building on uClibc. However, that patch is not upstream, and has been rejected: https://github.com/erlang/otp/pull/7500 Please open a PR to https://github.com/asmjit/asmjit instead and we will get the fix next time we sync with upstream. We do not want theirs and our implementation to diverge. Furthermore, it happens to work on uClibc, because uClibc does not expose sys/auxv.h, but it fails to work on glibc, because the define is not propagated to "sub-trees", and thus is never defined where it is checked for, even when sys/auxv.h is available. This causes build failures such as: asmjit/core/cpuinfo.cpp: In function ‘void asmjit::_abi_1_10::detectHWCaps(CpuInfo&, long unsigned int, const LinuxHWCapMapping*, size_t)’: asmjit/core/cpuinfo.cpp:840:24: error: ‘getauxval’ was not declared in this scope 840 | unsigned long mask = getauxval(type); | ^~~~~~~~~ asmjit/core/cpuinfo.cpp: In function ‘void asmjit::_abi_1_10::detectARMCpu(CpuInfo&)’: asmjit/core/cpuinfo.cpp:972:21: error: ‘AT_HWCAP’ was not declared in this scope 972 | detectHWCaps(cpu, AT_HWCAP, hwCapMapping, ASMJIT_ARRAY_SIZE(hwCapMapping)); | ^~~~~~~~ asmjit/core/cpuinfo.cpp:973:21: error: ‘AT_HWCAP2’ was not declared in this scope 973 | detectHWCaps(cpu, AT_HWCAP2, hwCapMapping2, ASMJIT_ARRAY_SIZE(hwCapMapping2)); | ^~~~~~~~~ Yet, sys/auxv.h was detected at configure time: checking for sys/auxv.h... yes This defconfig is enough to reproduce the error: BR2_aarch64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_PACKAGE_ERLANG=y Since upstream refused the patch, and there is no fix that was submitted to the actual upstream (asmjit), drop the rejectred patch, and disable for uClibc: the patch is incorrect, and we can't fix a build issue on uClibc by introducing another on glibc. Fixes: http://autobuild.buildroot.org/results/fc1/fc19bad2263bdfacea594217d5ddfde0e27895b1/ http://autobuild.buildroot.org/results/114/11416d81d5b27fc0627b335a971154c088d5754a/ Signed-off-by: Yann E. MORIN <yann.morin@orange.com> Cc: Bernd Kuhls <bernd@kuhls.net> Cc: Maxim Kochetkov <fido_max@inbox.ru> Changes v1 -> v2: - update comment when unavailable Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.editorconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
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 OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches