diff options
author | Radu Moisan <radu.moisan@intel.com> | 2013-01-22 17:29:15 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-28 12:25:35 +0000 |
commit | df0d23c2bedafd534c5909a65afaf3373d7bc33e (patch) | |
tree | 75a1dde1b6eb58b026a039445b1765ae220d7d41 /meta/recipes-devtools/valgrind/valgrind-3.8.1 | |
parent | 7255c43b6e545a4c15c3cd57f6c240668a77786a (diff) | |
download | openembedded-core-df0d23c2bedafd534c5909a65afaf3373d7bc33e.tar.gz openembedded-core-df0d23c2bedafd534c5909a65afaf3373d7bc33e.tar.bz2 openembedded-core-df0d23c2bedafd534c5909a65afaf3373d7bc33e.zip |
valgrind: update to 3.8.1
Changed license copyright notice 2011->2012
remove unnecessary patches
built for x86, 86-64, ppc
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/valgrind/valgrind-3.8.1')
5 files changed, 248 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind-3.8.1/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/meta/recipes-devtools/valgrind/valgrind-3.8.1/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch new file mode 100644 index 0000000000..07774f38a9 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind-3.8.1/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch @@ -0,0 +1,96 @@ +From 0bf4b0ac18d1ea41b32ad781d214b295ca1998f3 Mon Sep 17 00:00:00 2001 +From: Aneesh Bansal <aneesh.bansal@freescale.com> +Date: Mon, 21 Nov 2011 17:31:39 +0530 +Subject: [PATCH] Added support for PPC instructions mfatbu, mfatbl. + +Upstream-Status: Pending + +Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com> +--- +Currently Valgrind 3.7.0 does not have support for PPC instructions mfatbu and mfatbl. When we run a USDPAA application with VALGRIND, the following error is given by valgrind : +dis_proc_ctl(ppc)(mfspr,SPR)(0x20F) +disInstr(ppc): unhandled instruction: 0x7C0F82A6 + + + VEX/priv/guest_ppc_defs.h | 2 ++ + VEX/priv/guest_ppc_helpers.c | 18 ++++++++++++++++++ + VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++ + 3 files changed, 42 insertions(+), 0 deletions(-) + +diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h +index dd3c62e..11a34aa 100644 +--- a/VEX/priv/guest_ppc_defs.h ++++ b/VEX/priv/guest_ppc_defs.h +@@ -146,6 +146,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268_269 ( UInt ); + + extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void ); + ++extern UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt ); ++ + extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst, + UInt vD_idx, UInt sh, + UInt shift_right ); +diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c +index 11aa428..b49ea3f 100644 +--- a/VEX/priv/guest_ppc_helpers.c ++++ b/VEX/priv/guest_ppc_helpers.c +@@ -119,6 +119,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void ) + # endif + } + ++/* CALLED FROM GENERATED CODE */ ++/* DIRTY HELPER (non-referentially transparent) */ ++UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt r527 ) ++{ ++# if defined(__powerpc__) || defined(_AIX) ++ UInt spr; ++ if (r527) { ++ __asm__ __volatile__("mfspr %0,527" : "=b"(spr)); ++ } else { ++ __asm__ __volatile__("mfspr %0,526" : "=b"(spr)); ++ } ++ return spr; ++# else ++ return 0; ++# endif ++} ++ ++ + + /* CALLED FROM GENERATED CODE */ + /* DIRTY HELPER (reads guest state, writes guest mem) */ +diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c +index f8d220d..37c8974 100644 +--- a/VEX/priv/guest_ppc_toIR.c ++++ b/VEX/priv/guest_ppc_toIR.c +@@ -5657,6 +5657,28 @@ static Bool dis_proc_ctl ( VexAbiInfo* vbi, UInt theInstr ) + break; + } + ++ ++ case 526 /* 0x20E */: ++ case 527 /* 0x20F */: { ++ UInt arg = SPR==526 ? 0 : 1; ++ IRTemp val = newTemp(Ity_I32); ++ IRExpr** args = mkIRExprVec_1( mkU32(arg) ); ++ IRDirty* d = unsafeIRDirty_1_N( ++ val, ++ 0/*regparms*/, ++ "ppc32g_dirtyhelper_MFSPR_526_527", ++ fnptr_to_fnentry ++ (vbi, &ppc32g_dirtyhelper_MFSPR_526_527), ++ args ++ ); ++ /* execute the dirty call, dumping the result in val. */ ++ stmt( IRStmt_Dirty(d) ); ++ putIReg( rD_addr, ++ mkWidenFrom32(ty, mkexpr(val), False/*unsigned*/) ); ++ DIP("mfspr r%u,%u", rD_addr, (UInt)SPR); ++ break; ++ } ++ + default: + vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR); + return False; +-- +1.7.0.4 diff --git a/meta/recipes-devtools/valgrind/valgrind-3.8.1/configure-with-newer-glibc.patch b/meta/recipes-devtools/valgrind/valgrind-3.8.1/configure-with-newer-glibc.patch new file mode 100644 index 0000000000..d3cea234cb --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind-3.8.1/configure-with-newer-glibc.patch @@ -0,0 +1,41 @@ +Add case for glibc 2.16 and correct error message to denote support until 2.16 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Saul Wold <sgw@linux.intel.com> +Signed-off-by: Radu Moisan <radu.moisan@intel.com> + +Upstream-Status: Pending +Index: valgrind-3.8.1/configure.in +=================================================================== +--- valgrind-3.8.1.orig/configure.in ++++ valgrind-3.8.1/configure.in +@@ -910,6 +910,20 @@ case "${GLIBC_VERSION}" in + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.16) ++ AC_MSG_RESULT(2.16 family) ++ AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; ++ 2.17) ++ AC_MSG_RESULT(2.17 family) ++ AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) +@@ -923,7 +937,7 @@ case "${GLIBC_VERSION}" in + + *) + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17]) + AC_MSG_ERROR([or Darwin libc]) + ;; + esac diff --git a/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_issue_caused_by_ccache.patch b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_issue_caused_by_ccache.patch new file mode 100644 index 0000000000..4658567b21 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_issue_caused_by_ccache.patch @@ -0,0 +1,32 @@ +The script does not expect use of ccache, hence fix it to recognise it. + +2010/08/17 +Nitin A Kamble <nitin.a.kamble@intel.com> + +Upstream-Status: Inappropriate [configuration] + +Index: valgrind-3.5.0/coregrind/link_tool_exe_linux.in +=================================================================== +--- valgrind-3.5.0.orig/coregrind/link_tool_exe_linux.in ++++ valgrind-3.5.0/coregrind/link_tool_exe_linux.in +@@ -62,6 +62,11 @@ die "Bogus alt-load address" + + # The cc invokation to do the final link + my $cc = $ARGV[1]; ++my $next = 2; ++if ("$cc" eq "ccache") { ++ $cc = "$cc $ARGV[2]"; ++ $next = 3; ++} + + # and the 'restargs' are argv[2 ..] + +@@ -71,7 +76,7 @@ my $cc = $ARGV[1]; + my $cmd="$cc -static -Wl,-Ttext=$ala"; + + # Add the rest of the parameters +-foreach my $n (2 .. $#ARGV) { ++foreach my $n ($next .. $#ARGV) { + $cmd = "$cmd $ARGV[$n]"; + } + diff --git a/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_unsupporting_kernel_3.patch b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_unsupporting_kernel_3.patch new file mode 100644 index 0000000000..346ffebb3d --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fix_unsupporting_kernel_3.patch @@ -0,0 +1,26 @@ +valgrind: Add 3.x statements to "case" for supporting the kernel 3.x + +Signed-off-by: Lin Tong <tong.lin@intel.com> + +Upstream-Status: Pending + +diff --git a/configure.in b/configure.in +index 3878619..1cb7dc7 100644 +--- a/configure.in ++++ b/configure.in +@@ -229,10 +229,14 @@ case "${host_os}" in + AC_MSG_RESULT([2.4 family (${kernel})]) + AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x]) + ;; ++ 3.*) ++ AC_MSG_RESULT([3 family (${kernel})]) ++ AC_DEFINE([KERNEL_3], 1, [Define to 1 if you're using Linux 3.x]) ++ ;; + + *) + AC_MSG_RESULT([unsupported (${kernel})]) +- AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6]) ++ AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6, 3.x]) + ;; + esac + diff --git a/meta/recipes-devtools/valgrind/valgrind-3.8.1/fixed-perl-path.patch b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fixed-perl-path.patch new file mode 100644 index 0000000000..b054d05f7f --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind-3.8.1/fixed-perl-path.patch @@ -0,0 +1,53 @@ +this is a temporary patch to workaround cross compilation. +otherwise @PERL@ will be replaced to perl-native binary, +this creates unusable scripts and fails FILERDEPENDS mechanism +(esp. rpm) + +a better fix would need: + 1. configure.ac should differentiate PERL and HOSTPERL + 2. optionally remove ${STAGING_DIR} in #! line before do_install + +8/31/2010 - created by Qing He <qing.he@intel.com> + +Upstream-Status: Inappropriate [configuration] + +diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in +index 9dc9565..cc4ef05 100644 +--- a/cachegrind/cg_annotate.in ++++ b/cachegrind/cg_annotate.in +@@ -1,4 +1,4 @@ +-#! @PERL@ ++#! /usr/bin/perl + + ##--------------------------------------------------------------------## + ##--- Cachegrind's annotator. cg_annotate.in ---## +diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in +index 951066e..84c2dde 100644 +--- a/cachegrind/cg_diff.in ++++ b/cachegrind/cg_diff.in +@@ -1,4 +1,4 @@ +-#! @PERL@ ++#! /usr/bin/perl + + ##--------------------------------------------------------------------## + ##--- Cachegrind's differencer. cg_diff.in ---## +diff --git a/massif/ms_print.in b/massif/ms_print.in +index e6ffdbf..fb45906 100755 +--- a/massif/ms_print.in ++++ b/massif/ms_print.in +@@ -1,4 +1,4 @@ +-#! @PERL@ ++#! /usr/bin/perl + + ##--------------------------------------------------------------------## + ##--- Massif's results printer ms_print.in ---## +diff --git a/perf/vg_perf.in b/perf/vg_perf.in +index 2188a31..83ad024 100644 +--- a/perf/vg_perf.in ++++ b/perf/vg_perf.in +@@ -1,4 +1,4 @@ +-#! @PERL@ ++#! /usr/bin/perl + ##--------------------------------------------------------------------## + ##--- Valgrind performance testing script vg_perf ---## + ##--------------------------------------------------------------------## |