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>
This change adds another fix to the yajl build-system code.
This patch checks for isnan function in libc, and if not, it makes sure
libm is passed to the linker flags.
This change fixes build failure looking like:
make[3]: Entering directory `/home/peko/autobuild/instance-2/output/build/yajl-2.1.0'
[ 81%] Building C object example/CMakeFiles/parse_config.dir/parse_config.c.o
../yajl-2.1.0/lib/libyajl.so.2.1.0: undefined reference to `__isnan'
../yajl-2.1.0/lib/libyajl.so.2.1.0: undefined reference to `__isinf'
collect2: error: ld returned 1 exit status
make[3]: *** [verify/json_verify] Error 1
Fixes:
http://autobuild.buildroot.org/results/312/31268e4d20aa34bb90c09aa771b1923f979578ab/
and many others
Cc: Benoît Mauduit <bmauduit@beneth.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
According to the github project page:
https://github.com/pipelka/xbmc-addon-xvdr
this package is discontinued.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: add a reason for the deprecation.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/busybox/udhcpc.script: Use $search instead of $domain if
that is defined.
Note that for this to work, not only has CONFIG_FEATURE_UDHCP_RFC3397
be enabled in Busybox' configuration but also the option has to be
requested using the "-O search" command-line option (one can set it in
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS, for instance).
[Peter: add comment with reference to rfc3359/option 119 for clarity]
Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
No functional changes: Extracts an argument to the inner-barebox-package
function to automatically determine the uppercase package name. This is needed
to support a 2nd config build. This results in the following renaming:
'BAREBOX' -> '$(1)'
All barebox packages are meant to be built from the same sources, so related
KConfig variables (origin, version and patch directory) are not extracted.
Signed-off-by: Pieter Smith <pieter@boesman.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
No functional changes: Introduces a barebox-package function towards
re-use by a 2nd config build.
Because the function is meant to be called from within a $(eval), all
instances of '$' has to be escaped. I.e. rename '$' -> '$$'.
Signed-off-by: Pieter Smith <pieter@boesman.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Support optional selection of the built image filename in a
multi-image barebox build. This makes it possible to specify which
image to pick in a multi-image barebox config such as the
am335x_defconfig.
Signed-off-by: Pieter Smith <pieter@boesman.nl>
[Thomas:
- remove default "", since this is the default for string options
- rename the prompt from "Barebox image filename" to "Image filename"
- slightly improve the Config.in help text.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch bump mono version to the latest release 4.2.3.4.
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It seems mono isn't supported for sparc32, see configure.ac
for some comments about it. Tried with sparc64, but this
doesn't compile either.
So disable for sparc for now.
Fixes following autobuild issues:
http://autobuild.buildroot.org/?reason=mono-4.2.2.30
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The ODROID-C2 is a 64-bit quad-core single board computer(SBC) that is
one of the most cost-effective 64bit development boards available in the
ARM world.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145457216438
[Peter: fix typos, drop neon/C++ settings, use git hash for Linux/U-Boot]
Signed-off-by: Brian Kim <brian.kim@hardkernel.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The new address include more recent versions of stable releases.
Therefore, newer versions than 2.6.4 can be available when required.
Signed-off-by: Erdem MEYDANLI <erdem.meydanli@punica.com.tr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- remove upstream commited patch:
0002-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch
- fix compile errror (missing include for va_list with uclibc-1.0.14):
0006-dtmerge-add-missing-include-for-va_list.patch
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM926 size delta +12 KB.
It's required for the upcoming mpv package.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit adds a patch that should fix the parallel installation. A
similar patch is used by the Yocto Project, and they have already
submitted it upstream.
Fixes:
http://autobuild.buildroot.org/results/bb29c8fa5c44eaa575ff641958cba4736d9b2538/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Forcibly disable wacom support since we haven't got a libwacom package
yet.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Otherwise since it's automatic it was left to random depending on the
libgtk3/libinput build order.
Also collapse all that whitespace.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Our current version of libsrtp is preventing linphone to build causing
an error like this one:
configure:12952: error: This libsrtp version exports symbols conflicting
with other libraries. Please use the one from
git://git.linphone.org/srtp.git
Backporting an upstream patch to rename the SHA1 functions to avoid
conflicts with downstream packages:
c270245a94
Fixes:
http://autobuild.buildroot.net/results/773/7733ee4472834d26cf6bdd4ca557ac19f97290f8/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>