We have a toolchain wrapper for external toolchain, but it is also
beneficial for internal toolchains, for the following reasons:
1. It can make sure that BR2_TARGET_OPTIMIZATION is passed to the
compiler even if a package's build system doesn't honor CFLAGS.
2. It allows us to do the unsafe path check (i.e. -I/usr/include)
without patching gcc.
3. It makes it simpler to implement building each package with a
separate staging directory (per-package staging).
4. It makes it simpler to implement a compiler hash check for ccache.
The wrapper is reused from the external toolchain. A third CROSS_PATH_
option is added to the wrapper: in this case, the real executable is in
the same directory, with the extension .real.
The creation of the simple symlinks is merged with the creation of the
wrapper symlinks, otherwise part of the -gcc-ar handling logic would
have to be repeated.
The complex case-condition could be refactored with the one for the
external toolchain, but then it becomes even more complex because
they each have special corner cases. For example, the internal
toolchain has to handle *.real to avoid creating an extra indirection
after host-gcc-{final,initial}-rebuild.
Instead of creating the .real files, it would also have been possible
to install the internal toolchain in $(HOST_DIR)/opt, similar to what
we do for the external toolchain. However, then we would also have to
copy things to the sysroot and do more of the magic that the external
toolchain is doing. So keeping it in $(HOST_DIR)/usr/bin is much
simpler.
Note that gcc-initial has to be wrapped as well, because it is used for
building libc and we want to apply the same magic when building libc.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jérôme Oufella <jerome.oufella@savoirfairelinux.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The toolchain wrapper will be reused for the internal toolchain, so it
belongs in the toolchain directory. Also, the ext- prefix is removed
from it. The build commands are moved to a new toolchain-wrapper.mk.
The wrapper arguments that are also relevant for the internal toolchain
wrapper are moved to toolchain-wrapper.mk, the rest stays in
toolchain-external.mk.
While we're at it, move the building of the toolchain wrapper to the
build step of toolchain-external. There is no specific reason to do
this, other than that it fits better semantically. Also remove the
MESSAGE call, otherwise we'd see:
>>> toolchain-external undefined Building
>>> toolchain-external undefined Building toolchain wrapper
/usr/bin/gcc ...
Having an extra "Building toolchain wrapper' message is pointless.
The useless condition on $(BR2_TARGET_OPTIMIZATION) is removed. It was
always true because it wasn't qstrip'ped first, so clearly it works
without that condition as well.
Also rewrapped some comments and removed the 'external' reference.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jérôme Oufella <jerome.oufella@savoirfairelinux.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For some external toolchain vendors the actual source code URL can be simply
derived from the binary file URL.
Here we obtain TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL for all Mentor and
Linaro toolchains with a few $(subst) calls.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The FOO_SITE/FOO_SOURCE variables usually point to a tarball containing
source code.
For the downloaded external toolchains this is not true, the "source"
tarball actually contains binaries. This is fine for making Buildroot
work, but for legal-info we really want to ship real source code, not
binaries.
Luckily, some (hopefully all) toolchain vendors publish a downloadable
tarball containing the source code counterpart for their binary
packages.
Here we allow the user to declare the URL of this other tarball in the
pair of variables FOO_ACTUAL_SOURCE_TARBALL (by default equal to
FOO_SOURCE) and FOO_ACTUAL_SOURCE_SITE (by default equal to FOO_SITE).
If the "actual source" package can be downloaded from the same
directory as the binary package, then only FOO_ACTUAL_SOURCE_TARBALL
needs to be set.
Note this change is not strictly toolchain-specific: it might be useful
for other packages that happen to ship binaries in the same way.
[Thomas:
- remove "the source code has not been saved" warning that could
never be triggered due to how the conditions were
organized. Discussed with Luca live during the meeting.]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
v2 -> v3:
- Remove the select (not needed, we only have to propagate the
depends on)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix indent and put PATH on a single line.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There's a lot of code in /etc/profile, which doesn't really belong in a
minimal default skeleton.
Also, add an 'unset i' to avoid clutter.
If the user has a specific needs, it needs to be added in
/etc/profile.d/ by a post-build script.
Signed-off-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Not needed anymore since the URLs have been cleared, the manual states
they are illegal and a check has been introduced to notice future
mistakes.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A trailing slash in FOO_SITE is useless, since Buildroot automatically adds
a slash between FOO_SITE and the filename as appropriate.
Moreover it is potentially harmful, which led to introducing a workaround
to strip them:
commit 1cbffbd015
Author: Shawn J. Goff <shawn7400@gmail.com>
Date: Fri Apr 12 09:40:30 2013 +0000
eliminate double slashes caused by FOO_SITE ending in a slash
When a FOO_SITE variable ends in a slash and gets joined with a
FOO_SOURCE variable like $(FOO_SITE)/$(FOO_SOURCE), the resulting URI
has a double slash. While double-slashes are fine in unix paths, they
are reserved in URIs - the part following '//' must be an authority.
So let's ban trailing slashes entirely. They have all been removed in
a 7b0e757fb8, now add a check to error out loudly in case a new one
is added.
Example commands to test this check:
$ make busybox-dirclean busybox-source
rm -Rf /home/murray/devel/buildroot/output/build/busybox-1.23.2
busybox-1.23.2.tar.bz2: OK (md5: 7925683d7dd105aabe9b6b618d48cc73)
busybox-1.23.2.tar.bz2: OK (sha1: 7f37193cb249f27630e0b2a2c6c9bbb7b1d24c16)
$
$ make BUSYBOX_SITE=http://www.busybox.net/downloads/ busybox-dirclean busybox-source
rm -Rf /home/murray/devel/buildroot/output/build/busybox-1.23.2
BUSYBOX_SITE (http://www.busybox.net/downloads/) cannot have a trailing slash
make[1]: *** [/home/murray/devel/buildroot/output/build/busybox-1.23.2/.stamp_downloaded] Error 1
make: *** [_all] Error 2
$
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Trailing slashes are going to be declared illegal from FOO_SITE
variables.
But Buildroot internally generates such a variable when using a custom
external toolchain (i.e. BR2_TOOLCHAIN_EXTERNAL_CUSTOM). This is
because TOOLCHAIN_EXTERNAL_SITE is set to
$(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))), and $(dir)
leaves a trailing slash.
Fix it using patsubst, just like linux and the bootloaders do.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Virtualizer Development Kits (VDKs) are software development kits
containing design-specific virtual prototypes as well as debug and
analysis tools and sample software.
With this change we add support for VDK based on ARC HS38 core.
Note that FS-overlay is required to allow instantiation of console on
both serial port and LCD screen simultaneously.
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The 0001-CMakeLists-add-rules-for-installation.patch patch has been
merged upstream 7 minutes after it was submitted. So let's bump to the
latest upstream version and drop the no longer needed patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ZXing was hosted on Google Code, which is a closing. The current link
was already redirecting to the github repo.
But upstream is no longer supporting the cpp bindings, it's now a Java
library/application.
A fork has been created from the latest cpp source of the original
upstream. So this commit creates a new package, zxing-cpp, and adds
Config.in.legacy handling for the old zxing pakcage that is removed.
[Thomas:
- add a patch that improves the CMakeLists.txt file to add
installation rules. This allows to remove the manual installation
logic from zxing-cpp.mk.
- make libiconv a normal optional dependency. No need to involve
BR2_ENABLE_LOCALE in the condition, since libiconv can only be
enabled when !BR2_ENABLE_LOCALE.
- bump to the latest upstream version.
- add hash file.]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
FreeRDP does not have a single C++ source file, however it insists on
having a C++ compiler. Removing that requirement is a bit too much
involving, so we just depend on it...
Fixes:
http://autobuild.buildroot.org/results/e5b/e5bee760d52e5ee433dcb6c8a7296f99312cfcf4/
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h .
glibc has two flavours of bits/termios.h: a genmeric one and an
architecture-specific one. When installing, glibc will install the
architecture-specific file if it exists, otherwise it installs the
generic file. Only Alpha, MIPS, PPC and Sparc have their own
bits/termios.h.
The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
do define CMSPAR. However, the MIPS flavour does not define it.
We add a patch to FreeRDP that defines CMSPAR to the value from the
generic value, which is also the value known to the Linux kernel for
MIPS.
Fixes:
http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/
...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Introduced by previous patch 0f75b2635e,
this printf would break the build of glibc, because there is no format
to printf:
printf: usage: printf [-v var] format [arguments]
Signed-off-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
And also move to GitHub since Google Code is going to die soon.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mesa3d 10.6.x is reaching end-of-life:
http://lists.freedesktop.org/archives/mesa-announce/2015-October/000178.html
"NOTE: It is anticipated that 10.6.9 will be the final release in the
10.6 series. Users of 10.6 are encouraged to migrate to the 11.0 series
in order to obtain future fixes."
Run-time testing with Kodi Isengard on an Intel GPU was positive.
Rebased 0001-Fix-khrplatform.h-not-installed-if-EGL-is-disabled.patch.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The "Dynamic using mdev" and "Dynamic using eudev" /dev management
methods are using devtmpfs, just like "Dynamic using devtmpfs only",
on top of which they add either mdev or eudev. But their names might
suggest they use mdev only or eudev only.
Clarify their descriptions by adding "devtmpfs +" to make it
unambiguous.
[Thomas: rewrap the paragraphs in the manual. It makes the diff a lot
less readable, but we actually want the result to be wrapped.]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Building host-localdef fails under gcc5.1 reporting multiple definitions and undefined references:
argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1dc0): multiple definition of `argp_fmtstream_write'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x750): first defined here
argp-help.o: In function `argp_fmtstream_puts':
argp-help.c:(.text+0x1e10): multiple definition of `argp_fmtstream_puts'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x810): first defined here
argp-help.o: In function `argp_fmtstream_putc':
argp-help.c:(.text+0x1e80): multiple definition of `argp_fmtstream_putc'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x7b0): first defined here
argp-help.o: In function `argp_fmtstream_set_lmargin':
argp-help.c:(.text+0x1ed0): multiple definition of `argp_fmtstream_set_lmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x590): first defined here
argp-help.o: In function `argp_fmtstream_set_rmargin':
argp-help.c:(.text+0x1f00): multiple definition of `argp_fmtstream_set_rmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5c0): first defined here
argp-help.o: In function `argp_fmtstream_set_wmargin':
argp-help.c:(.text+0x1f30): multiple definition of `argp_fmtstream_set_wmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5f0): first defined here
argp-help.o: In function `argp_fmtstream_point':
argp-help.c:(.text+0x1f60): multiple definition of `argp_fmtstream_point'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x620): first defined here
charmap.o: In function `cmlr_open.constprop.2':
charmap.c:(.text+0x230a): undefined reference to `charmap_hash'
charmap.o: In function `charmap_read':
charmap.c:(.text+0x2397): undefined reference to `charmap_hash'
locfile.o: In function `locfile_read':
locfile.c:(.text+0x2e4): undefined reference to `locfile_hash'
locfile.c:(.text+0x8f4): undefined reference to `locfile_hash'
locfile.c:(.text+0x9b3): undefined reference to `locfile_hash'
locfile.c:(.text+0xa36): undefined reference to `locfile_hash'
collect2: error: ld returned 1 exit status
Makefile:58: recipe for target 'localedef' failed
Ref: http://permalink.gmane.org/gmane.comp.embedded.ptxdist.devel/12950
Signed-off-by: Stephen Agate <stephen.agate@talktalk.net>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The problem looks like this:
/br/output/host/usr/mipsel-buildroot-linux-uclibc/sysroot/usr//lib/librt.a(timer_routines.os):
In function `__start_helper_thread':
timer_routines.c:(.text+0x2f4): undefined reference to `pthread_atfork'
collect2: error: ld returned 1 exit status
Adding -pthread to LDFLAGS fixes the problem.
Fixes:
http://autobuild.buildroot.net/results/a87/a87a764d3a28f835ed8645923594f7023a662ae8/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
'echo -n' is not a POSIX construct (no flag support), we shoud use
'printf', especially in init script.
This patch was generated by the following command line:
git grep -l 'echo -n' -- `git ls-files | grep -v 'patch'` | xargs sed -i 's/echo -n/printf/'
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: fix .hash comment as pointed out by Vincent]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Our previous patch to disable the documentation in gdb wasn't complete.
There are cases where the documentation under bfd and gprof directories
is being built, causing the subsequent failure due to missing makeinfo.
This patch fixes that problem.
Fixes:
http://autobuild.buildroot.org/results/244/2442e697d8a300496434fd42fcb1ee3941d13e06/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Needed by Kodi 16.x-Jarvis:
6f8171f539
[Peter: needs GCC >= 4.7 for C+11, no need to install in target,
Drop TARGET_CONFIGURE_OPTS, add TARGET_CXXFLAGS, wrap long lines]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add the fbturbo video driver, which is based on xf86-video-fbdev (with
none of the original features stripped), primarily optimized for the
devices powered by the Allwinner SoC (A10, A13, A20).
https://github.com/ssvb/xf86-video-fbturbo/
Signed-off-by: Scott Fan <fancp2007@gmail.com>
[yann.morin.1998@free.fr: strip help text to the basics only]
[Peter: needs libdrm/pixman, add patch to drop libdri2 dependency
reformat and add optional libpciaccess support]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s
specifics in mind, Google C++ Mocking Framework (or Google Mock for
short) is a library for writing and using C++ mock classes.
Google Mock:
* lets you create mock classes trivially using simple macros,
* supports a rich set of matchers and actions,
* handles unordered, partially ordered, or completely ordered
expectations,
* is extensible by users, and
* works on Linux, Mac OS X, Windows, Windows Mobile, minGW, and
Symbian.
http://code.google.com/p/googlemock/
There are both host and target packages. The target one has include
files required to compile the tests and the static libraries required
to link/run them. The host package installs gmock_gen, a Python script
used to generate code mocks.
Notice that GMock 1.7.0 requires the Python 2 host package even if
Python 3 is selected as a target package.
Signed-off-by: Marcelo Barbosa <marcelo.barbosa@datacom.ind.br>
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
swupdate provides a reliable way to update the software on an embedded system.
Note that swupdates has a reworked Kbuild/Kconfig system. It has now support
for the 'option' and 'env' symbols as well for the 'savedefconfig' target.
This makes dependency handling much easier. We're now able to pass which
dependencies are available through the environment, as suggested by Arnout
Vandecappelle [1].
In previous version of this patch we had a configuration setting where all
package dependencies except Lua were selected by default. This has changed with
v7 as we are now able to pass dependencies to the swupdate build system through
the environment. For useful operation swupdate requires a parser which depends
by default on libconfig, but can be replaced by a json-c or Lua parser.
To provide a reasonable firmware update system we enable the embedded webserver
based on mongoose (also see notes about mongoose below), a parser as stated
above and a handler for raw NAND or NOR flash.
The user can modify this configuration by selecting the appropriate dependencies
before running `make swupdate-menuconfig`. The help text contains information
about which packages may be of interest for the user.
The embedded web server requires a website for proper operation. We install the
included website by default, however the user may choose to install a custom
website on the post-build scripts.
Note, swupdate includes some old versions of mongoose and lsqlite3:
- mongoose is version 3.8 from year 2013
- lsqlite3 is version 0.8 from year 2011
Currently, swupdate does not provide a way to replace these with external
packages.
This patch is based on a WIP version submitted by Romain Naour, commented by
Arnout Vandecappelle [2].
[1]
http://lists.busybox.net/pipermail/buildroot/2015-March/122981.html
[2]
https://patchwork.ozlabs.org/patch/401270/
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Mike Williams <mike@mikebwilliams.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
It is based on olimex_a20_olinuxino_lime configuration. Tested on the mainline
kernel 4.1.4. It boots and the Ethernet is working at speed 1 Gbps.
[Thomas: remove ccache and optimize 2 options.]
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Acked-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
/dev/shm is needed for systems using shared memory. On init-based systems
this directory is usually created in the inittab along with /dev/pts, by
the lines:
package/busybox/inittab:
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
package/sysvinit/inittab:
si2::sysinit:/bin/mkdir -p /dev/pts
si3::sysinit:/bin/mkdir -p /dev/shm
However this is broken when static /dev management is selected and the root
filesystem is read-only, showing during boot the error:
mkdir: can't create directory '/dev/shm': Read-only file system
Fix it by creating the empty /dev/shm directory, just like /dev/pts.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Several inittab steps are redirected to /dev/null. This means any error or
warning printed by these crucial commands would be hidden from the user.
There is no evident reason to hide this output, so stop doing that.
Suggested by Thomas Petazzoni:
http://lists.busybox.net/pipermail/buildroot/2015-September/139146.html
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
And also use the .tar.bz2 tarball to save disk space and bandwidth.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When Valgrind detects a 32-bit MIPS architecture, it forcibly adds
-march=mips32 to CFLAGS; when it detects a 64-bit MIPS architecture, it
forcibly adds -march=mips64. This causes Valgrind to be built always for
the first ISA revision level (R1), even when the user has configured
Buildroot for the second ISA revision level (R2).
Since R2 is backwards compatible with R1, you can run a Valgrind built
for R1 in an R2 core. This is why nobody noticed about this problem, or
at least nobody complained.
But, since (I hope) we will support R6 in Buildroot in the near future,
this problem will become very important because R6 is not backwards
compatible with R1 or R2, so building Valgrind for R1 when your target
is R6 will result in a non-working Valgrind.
Override the CFLAGS variable (which Valgrind appends to its CFLAGS) and
pass the right -march option, so they take precedence over Valgrind's
wrongfully detected value.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>