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>
This is necessary for some packages depending on valgrind, such as
libdrm which will fail with an error like this one:
checking for VALGRIND... no
checking whether to enable Valgrind support... configure: error:
Valgrind support required but not present
package/pkg-generic.mk:146: recipe for target
'/br/output/build/libdrm-2.4.62/.stamp_configured' failed
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Valgrind fails to build when the host kernel is >=4.0. This patch
backports the commit from upstream that fixes the kernel version
verification. This verification is pointless for buildroot anyway, but
it fixes the building process.
[Peter: rename patch to 0002-* and add SoB, slightly reword commit msg]
Signed-off-by: Christian Artin <christian@gridshowsystems.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
buildroot references powerpc64 little endian as "powerpc64le" and not
"powerpc64el". The typo in the supported architectures list caused this
package to be unavailable for powerpc64 little endian.
Signed-off-by: Erico Nunes <erico.nunes@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add hash file and switch to a non-dead homepage.
Enable for supported architectures: powerpc64 & powerpc64le.
Even though aarch64 is supported it's still a bit rought resulting in
build failures so don't enable it for now.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Instead of using the exhaustive list of Cortex-A ARM cores, use
BR2_ARM_CPU_ARMV7A instead. We also fix a wrong comment that said the
Valgrind package could only be selected for Cortex-A8 and Cortex-A9,
which was true a long time ago, but was no longer true since it was
also enabled for all the other Cortex-A platforms.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
uClibc on PowerPC forgot to define some PTRACE_* definitions. Even
though the Buildroot uClibc package has a fix for this, it doesn't fix
external uClibc toolchains that are not patched. Therefore this commit
adds a patch to Valgrind to workaround the problem by defining
PTRACE_GETSIGINFO to the appropriate value on PowerPC when it's not
defined by the C library.
Fixes:
http://autobuild.buildroot.org/results/bc6/bc6be9aa1ad39201a1045a65c0c3eb1e968371f2/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.
This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.
Alignment of line continuation characters (\) is kept as-is.
The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'
Brief explanation of this command:
^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line
\([?:+]\?=\) any assignment character =, :=, ?=, +=
\([^\\]\+\) any string not containing a line continuation
\([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a
line continuation character
\(\s*\\\) optional whitespace, followed by a line
continuation character
Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.
This expression was tested on following test text: (initial tab not
included)
FOO = spaces before
FOO = spaces before and after
FOO = tab before
FOO = tab and spaces before
FOO = tab after
FOO = tab and spaces after
FOO = spaces and tab after
FOO = \
FOO = bar \
FOO = bar space \
FOO = \
GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse
FOO += spaces before
FOO ?= spaces before and after
FOO :=
FOO =
FOO =
FOO =
FOO =
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
AT91BOOTSTRAP3_DEFCONFIG = \
AXEL_DISABLE_I18N=--i18n=0
After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
expression leaves the number of whitespace between the value and line
continuation character intact, but the whitespace before that could have
changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
actually makes the code more readable.
Finally, the end result was manually reviewed.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Williams <mike@mikebwilliams.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Patches status:
valgrind-0001-workaround-SIGSEGV-on-PPC: Don't know. In doubt, I
prefer to keep it.
valgrind-0002-don-t-enable-largefile-support-unconditionally-on-uC:
Seems still necessary
valgrind-0003-Add-replacement-for-a.out.h: Upstreamed
valgrind-0004-remove-default-mips-flags: Upstreamed
valgrind-0005-glibc-2.19: Upstream now support glibc up to 2.20
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:
$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))
so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
During configuration of Valgrind we check does the compiler support
-march=mips32 and -march=mips64. If compiler supports these flags we are
using them as default flags for mips32 and mips64.
"VALGRIND_AUTORECONF = YES" needs to be added to valgrind.mk because
this patch modifies the configure.ac.
Original upstream patch:
fdf6c5aea4
Fixes:
http://autobuild.buildroot.net/results/213/21352bcbe1b309fef0f996c275cdfcda08619d96/
[Thomas: add reference to the upstream patch into the patch itself, in
addition to the commit log.]
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Drop some patches:
- glibc 2.17 and 2.18 are now supported by upstream
- coregrind/link_tool_exe_linux.in has been reworked and should now
support ccache
[Peter: drop unneeded AUTORECONF as configure.in no longer gets patched]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Status of the patches:
* valgrind-compiler-check.patch, no longer needed, merged upstream.
* valgrind-dont-include-a-out-header.patch, kept, just refreshed
* valgrind-fix-ccache-support.patch, adapted to the newer Valgrind
release.
* valgrind-largefile.patch, kept, just refreshed
* valgrind-more-ioctls.patch, removed. Most of it was merged
upstream. This patch was anyway a feature addition, so it shouldn't
be kept in Buildroot.
* valgrind-workaround-SIGSEGV-on-PPC.patch, kept as is, just
refreshed.
This bump also fixes the build failure we were experiencing with
Valgrind 3.7.0 against recent Glibc versions.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The full valgrind installation takes more than 20 MB, while one typically does
not use all of its tools. This patch adds extra config options to select which
tools to install.
[Peter: Don't default experimental tools to 'y' as suggested by Arnout]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
After bumping to 3.7.0, the valgrind-3.6.1-configure-support-linux-3.patch is
no longer necessary since it was added upstream. The
valgrind-3.7.0-compiler-check.patch patch is added to fix a compiler version
check issue (patch taken from the upstream Subversion repository). The
valgrind-3.7.0-fix-ccache-support.patch is added to fix the build process when
ccache is used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We removed the shell script that wrapped valgrind (not nice to install
such non-standard things), and will let the user use the uclibc.supp
suppression file if needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>