Some toolchain can't be used by Buildroot due to sysroot location
issue, so the $(ARCH)-linux-gnu-gcc -print-file-name=libc.a command
return only "libc.a"
This lead to an error during the header check version helper,
so these toolchains can't be imported into Buildroot.
cc1: fatal error: $PWD/libc.a/usr/include/linux/version.h: No such file or directory
compilation terminated.
support/scripts/check-kernel-headers.sh: line 38: /tmp/check-headers.4V5PPF: Permission denied
This issue happen with the first linaro 2015.11 [1] release and
CodeSourcery standard edition [2].
Here is the sysroot directory tree for linaro 2015.11:
$ ls libc/arm-linux-gnueabihf
etc lib sbin usr var
Here is the sysroot directory tree for CodeSourcery standard:
$ ls libc/sgxx-glibc
etc lib lib64 sbin usr var
Add a check to error out with an explicit error message
The check don't use toolchain_find_libc_a function directly since
"realpath -f" is used internally and return an absolute path.
[1] https://bugs.linaro.org/show_bug.cgi?id=1995#c7
[2] http://lists.busybox.net/pipermail/buildroot/2014-October/110696.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
"A better i7 (and now i3, i5) reporting tool for Linux."
i7z can print out the C-states and temperature for i3, i5 and i7 based
Core processors from Intel (including Nehalems, Sandy Bridge and Ivy
Bridge).
https://github.com/ajaiantilal/i7z
Signed-off-by: Vincent Stehlé <vincent.stehle@intel.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes an error not yet caught by autobuilders:
In file included from SaveSet.c:27:0:
Xfixesint.h:67:20: error: static declaration of '_XEatDataWords' follows non-static declaration
static inline void _XEatDataWords(Display *dpy, unsigned long n)
^
To reproduce use this defconfig:
BR2_powerpc64le=y
BR2_powerpc_power8=y
BR2_OPTIMIZE_3=y
BR2_GLIBC_VERSION_2_23=y
BR2_BINUTILS_VERSION_2_26_X=y
BR2_GCC_VERSION_5_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XLIB_LIBXFIXES=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This revision fixes the build with recent kernel versions, which have
seen changes in the MMC framework breaking the build of external SDIO
drivers.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Instead of hardcoding again the version of the package when defining
WF111_SOURCE, this commit changes the WF111_VERSION so that it
contains the entire version number, and then modifies the WF111_SOURCE
definitions to use WF111_VERSION.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When installing the WF111 modules, the module.* files generated during
the kernel compilation were overridden. This ended up having the wrong
information about the modules compiled in a given image (and only the
one about the WF111 module). This could be verified using the
"modprobe -l" command, with only the wf111 module showing up.
This patch fixes this by invoking the install_static target (which
will do both the build and installation) in WF111_INSTALL_TARGET_CMDS.
This way the files are not overridden but instead updated with the
additional WF111 informations.
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Tested-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When a message with MESSAGE, we can print it as the first command of
the command sequence, and in this case, we don't need to use a shell
continuation.
In one case, the call to MESSAGE is moved a few lines up in the
sequence of commands.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As suggested by Arnout, this commit renames:
- TOOLCHAIN_EXTERNAL_INSTALL_BFIN_FDPIC to
TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC
- TOOLCHAIN_EXTERNAL_INSTALL_BFIN_FLAT to
TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT
Which makes it clear that those variables are installing libraries to
the target, and make their naming more consistent with the naming of
other variables in the file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With the alignment of toolchain library location in target and staging,
there is no need anymore for the distinction between LIB_EXTERNAL_LIBS and
USR_LIB_EXTERNAL_LIBS. Unify them into TOOLCHAIN_EXTERNAL_LIBS.
Related, update the help text of
BR2_TOOLCHAIN_EXTRA_TOOLCHAIN_EXTERNAL_LIBS.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The toolchain-external logic is roughly:
- populate the staging dir by rsyncing the entire ${ARCH_LIB_DIR} and
usr/${ARCH_LIB_DIR} from sysroot.
- populate the target dir by explictly copying some libraries from sysroot
into target/lib and some other libraries in target/usr/lib, the split
being hardcoded into buildroot regardless of the location in the sysroot.
This means that a library libfoo could be located in:
staging/lib/libfoo.so
target/usr/lib/libfoo.so
When debugging an application that links against this library, gdb will
fruitlessly search for 'usr/lib/libfoo.so' in staging, and then suggest to
use 'set solib-search-path' which is a hack, really.
To solve the problem, we need to make sure that libraries from the toolchain
are installed in the same relative location in staging and target.
Achieve this by:
- replacing the convoluted search for libraries using for+find in sysroot
with a simple find in staging.
- determining DESTDIR for each library individually based on the location in
staging.
- treating LIB_EXTERNAL_LIBS and USR_LIB_EXTERNAL_LIBS equivalently
These changes also allow for the removal of most arguments to
copy_toolchain_lib_root in the method itself and their callers.
Test procedure:
- set configuration for a given toolchain
- make clean toolchain
- find output/target | sort > /tmp/out-before
- apply patch
- make clean toolchain
- find output/target | sort > /tmp/out-after
- diff -u /tmp/out-before /tmp/out-after
The only changes should be some libraries moving from lib to usr/lib or vice
versa. Notable examples being libstdc++ and libatomic.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
- use -L instead of -follow in the find invocation, as suggested by
Arnout.
- move the BR2_STATIC_LIBS condition as a make condition rather than
a shell condition, as suggested by Arnout.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The installation of the gdbserver binary has no relation to the installation
of the target libraries. Moving it to a separate define improves the
understandability of the code and makes later refactoring easier.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
[Thomas:
- move the BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY condition as a make
condition rather than a shell condition, as suggested by Romain
Naour.
- rename the TOOLCHAIN_EXTERNAL_INSTALL_GDBSERVER variable to
TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER as suggested by Arnout.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For external Blackfin toolchains with BR2_BFIN_INSTALL_FDPIC_SHARED set,
the FDPIC shared libraries are currently only copied to the target
directory, not to staging.
For debugging purposes, an unstripped copy in staging is necessary.
Moreover, this change will simplify a subsequent change that lines up the
location of shared libraries between target and staging directories.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The target "$(LINUX_DIR)/.stamp_initramfs_rebuilt" uses its own
'cp' command, instead of LINUX_INSTALL_IMAGE/LINUX_INSTALL_IMAGES_CMDS
provided by (or updated with) commit 055e6162bb ("linux: don't build
appended DTB image in place and support multiple images") and thus is
not operating properly when APPENDED_DTB is used.
Indeed, it copies a single image, and does not copy the one with the DTB
appended.
This patch replaces the 'cp' command with LINUX_INSTALL_IMAGE which
handles APPENDED_DTB.
Fixes: 055e6162bb ("linux: don't build appended DTB image in place and
support multiple images")
Signed-off-by: Sebastian Frias <sf84@laposte.net>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
glmark2 depends on mesa3d which already depends on BR2_INSTALL_LIBSTDCPP
and BR2_TOOLCHAIN_HAS_THREADS_NPTL, glmark2 does not depend on udev so
the comment stating all these dependencies is not needed.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes:
WNPA-SEC-2016-19 - The NCP dissector could crash.
WNPA-SEC-2016-20 - TShark could crash due to a packet reassembly bug.
WNPA-SEC-2016-21 - The IEEE 802.11 dissector could crash.
WNPA-SEC-2016-22 - The PKTC dissector could crash.
WNPA-SEC-2016-23 - The PKTC dissector could crash.
WNPA-SEC-2016-24 - The IAX2 dissector could go into an infinite loop.
WNPA-SEC-2016-25 - Wireshark and TShark could exhaust the stack.
WNPA-SEC-2016-26 - The GSM CBCH dissector could crash.
WNPA-SEC-2016-27 - MS-WSP dissector crash.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This reverts commit 638ea2d715, since it
breaks the build of busybox in many configurations, with the following
issues:
/bin/bash: : command not found
make[1]: Entering directory `/home/test/autobuild/instance-0/output/build/busybox-1.24.2'
[...]
GEN miscutils/Config.in
make[2]: *** No rule to make target `olddefconfig'. Stop.
make[1]: *** [olddefconfig] Error 2
make[1]: Leaving directory `/home/test/autobuild/instance-0/output/build/busybox-1.24.2'
make: *** [/home/test/autobuild/instance-0/output/build/busybox-1.24.2/.config] Error 1
make: Leaving directory `/home/test/autobuild/instance-0/buildroot'
See:
http://autobuild.buildroot.org/results/48481bb3531927be35cda3df57d02f02cec709aa/
for example.
A minimal configuration with just Busybox doesn't exhibit the problem,
but adding libtirpc in the configuration is enough to trigger the
problem, so the following defconfig allows to reproduce the issue:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2016.02-3-g762b7c9.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PACKAGE_LIBTIRPC=y
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
So far identical to the rpi2 one except for the dts file as the SW runs in
32bit mode.
[Peter: extend commit message]
Signed-off-by: Ubaldo Porcheddu <ubaldo@eja.it>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 7f1f9185e (system: default to devtmpfs for /dev) changed our default
for /dev handling, but didn't remove the explicit selection of devtmpfs from
a number of defconfigs.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Using 'yes "" | make oldconfig' to regenerate a .config file from an
existing defconfig does not work reliably in all cases. Specifically, it
does not work well with tristate choice entries.
The correct way to do it is to use 'make olddefconfig', but this target
is not supported in projects that use an old version of kconfig. As
most projects do not use tristate entries, there is no need for them to
upgrade.
'oldnoconfig' is an alias for 'olddefconfig', but it also is the only
name for this target between Linux versions 2.6.36 and 3.6.
Check which targets are supported by the current project, and use the
appropriate method to regenerate the .config file.
Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
[yann.morin.1998@free.fr: use a shell construct instead of makefile code]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: fix minor typos.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump to the latest (as of this writing) linux-firmware git version.
This adds support for newer iwlwifi firmware versions and new chipset
support as well.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It selects 7265 non-D firmware since they share the same firmware for
old kernel versions (rev 10 D-variant is the same as rev 10 non-D).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Thomas: add a comment about the select in Config.in.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This avoids a lot of unnecessary complication with lots of revison
knobs for different chipsets and it's consequence when bumping
linux-firmware as well.
Users can purge unwanted versions from a post processing script if
target space is too constrained.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit will allow the LINUX_FIRMWARE_FILES variable to contain
wildcards, which will simplify the handling of firmware that are
available in numerous revisions.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>