3.7.0-1
This commit is contained in:
parent
032a380edd
commit
81c97a1660
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
|||||||
valgrind-3.6.0.tar.bz2
|
/valgrind-3.7.0.tar.bz2
|
||||||
/valgrind-3.6.1.tar.bz2
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
2c3aa122498baecc9d69194057ca88f5 valgrind-3.6.1.tar.bz2
|
a855fda56edf05614f099dca316d1775 valgrind-3.7.0.tar.bz2
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- valgrind/include/pub_tool_basics.h.jj 2010-10-20 22:19:27.000000000 +0200
|
|
||||||
+++ valgrind/include/pub_tool_basics.h 2010-11-05 18:03:15.416830321 +0100
|
|
||||||
@@ -316,7 +316,7 @@ static inline Bool sr_EQ ( SysRes sr1, S
|
|
||||||
#define VG_BUGS_TO "www.valgrind.org"
|
|
||||||
|
|
||||||
/* Branch prediction hints. */
|
|
||||||
-#if 1 /*HAVE_BUILTIN_EXPECT*/
|
|
||||||
+#if defined(__GNUC__) && (__GNUC__ >= 3) /*HAVE_BUILTIN_EXPECT*/
|
|
||||||
# define LIKELY(x) __builtin_expect(!!(x), 1)
|
|
||||||
# define UNLIKELY(x) __builtin_expect((x), 0)
|
|
||||||
#else
|
|
@ -1,190 +0,0 @@
|
|||||||
--- valgrind/none/tests/amd64/gen_insn_test.pl.jj 2010-10-20 22:19:31.000000000 +0200
|
|
||||||
+++ valgrind/none/tests/amd64/gen_insn_test.pl 2011-02-22 18:36:34.767401963 +0100
|
|
||||||
@@ -628,7 +628,7 @@ while (<>)
|
|
||||||
|
|
||||||
foreach my $result (@results)
|
|
||||||
{
|
|
||||||
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
|
|
||||||
+ if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w|r(8|16|32|64)|mm|xmm)$/)
|
|
||||||
{
|
|
||||||
$result->{argnum} = $argnum++;
|
|
||||||
}
|
|
||||||
@@ -642,14 +642,6 @@ while (<>)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- foreach my $result (@results)
|
|
||||||
- {
|
|
||||||
- if ($result->{type} =~ /^(r(8|16|32|64)|mm|xmm)$/)
|
|
||||||
- {
|
|
||||||
- $result->{argnum} = $argnum++;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
my $stateargnum = $argnum++;
|
|
||||||
|
|
||||||
print qq| char state\[108\];\n|;
|
|
||||||
@@ -689,8 +681,8 @@ while (<>)
|
|
||||||
}
|
|
||||||
elsif ($arg->{type} eq "xmm")
|
|
||||||
{
|
|
||||||
- print qq| \"movlps 0+%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
- print qq| \"movhps 8+%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
+ print qq| \"movlps %$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
+ print qq| \"movhps %H$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
}
|
|
||||||
elsif ($arg->{type} eq "st")
|
|
||||||
{
|
|
||||||
@@ -803,8 +795,8 @@ while (<>)
|
|
||||||
}
|
|
||||||
elsif ($result->{type} eq "xmm")
|
|
||||||
{
|
|
||||||
- print qq| \"movlps %%$result->{register}, 0+%$result->{argnum}\\n\"\n|;
|
|
||||||
- print qq| \"movhps %%$result->{register}, 8+%$result->{argnum}\\n\"\n|;
|
|
||||||
+ print qq| \"movlps %%$result->{register}, %$result->{argnum}\\n\"\n|;
|
|
||||||
+ print qq| \"movhps %%$result->{register}, %H$result->{argnum}\\n\"\n|;
|
|
||||||
}
|
|
||||||
elsif ($result->{type} eq "st")
|
|
||||||
{
|
|
||||||
@@ -852,11 +844,16 @@ while (<>)
|
|
||||||
|
|
||||||
foreach my $result (@results)
|
|
||||||
{
|
|
||||||
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
|
|
||||||
+ if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w|r(8|16|32|64)|mm)$/)
|
|
||||||
{
|
|
||||||
print qq|$prefix\"=m\" \($result->{name}\)|;
|
|
||||||
$prefix = ", ";
|
|
||||||
}
|
|
||||||
+ elsif ($result->{type} eq "xmm")
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"=o\" \($result->{name}\)|;
|
|
||||||
+ $prefix = ", ";
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
print qq|\n|;
|
|
||||||
@@ -867,20 +864,18 @@ while (<>)
|
|
||||||
{
|
|
||||||
if (defined($arg->{name}))
|
|
||||||
{
|
|
||||||
- print qq|$prefix\"m\" \($arg->{name}\)|;
|
|
||||||
+ if ($arg->{type} eq "xmm")
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"o\" \($arg->{name}\)|;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"m\" \($arg->{name}\)|;
|
|
||||||
+ }
|
|
||||||
$prefix = ", ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- foreach my $result (@results)
|
|
||||||
- {
|
|
||||||
- if ($result->{type} =~ /^(r(8|16|32|64)|mm|xmm)$/)
|
|
||||||
- {
|
|
||||||
- print qq|$prefix\"m\" \($result->{name}\)|;
|
|
||||||
- $prefix = ", ";
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
print qq|$prefix\"m\" \(state[0]\)\n|;
|
|
||||||
|
|
||||||
$prefix = " : ";
|
|
||||||
--- valgrind/none/tests/x86/gen_insn_test.pl.jj 2010-10-20 22:19:35.000000000 +0200
|
|
||||||
+++ valgrind/none/tests/x86/gen_insn_test.pl 2011-02-22 18:30:27.750683267 +0100
|
|
||||||
@@ -605,7 +605,7 @@ while (<>)
|
|
||||||
|
|
||||||
foreach my $result (@results)
|
|
||||||
{
|
|
||||||
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
|
|
||||||
+ if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w|r(8|16|32)|mm|xmm)$/)
|
|
||||||
{
|
|
||||||
$result->{argnum} = $argnum++;
|
|
||||||
}
|
|
||||||
@@ -619,14 +619,6 @@ while (<>)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- foreach my $result (@results)
|
|
||||||
- {
|
|
||||||
- if ($result->{type} =~ /^(r(8|16|32)|mm|xmm)$/)
|
|
||||||
- {
|
|
||||||
- $result->{argnum} = $argnum++;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
my $stateargnum = $argnum++;
|
|
||||||
|
|
||||||
print qq| char state\[108\];\n|;
|
|
||||||
@@ -658,8 +650,8 @@ while (<>)
|
|
||||||
}
|
|
||||||
elsif ($arg->{type} eq "xmm")
|
|
||||||
{
|
|
||||||
- print qq| \"movlps 0%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
- print qq| \"movhps 8%$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
+ print qq| \"movlps %$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
+ print qq| \"movhps %H$arg->{argnum}, %%$arg->{register}\\n\"\n|;
|
|
||||||
}
|
|
||||||
elsif ($arg->{type} eq "st")
|
|
||||||
{
|
|
||||||
@@ -767,8 +759,8 @@ while (<>)
|
|
||||||
}
|
|
||||||
elsif ($result->{type} eq "xmm")
|
|
||||||
{
|
|
||||||
- print qq| \"movlps %%$result->{register}, 0%$result->{argnum}\\n\"\n|;
|
|
||||||
- print qq| \"movhps %%$result->{register}, 8%$result->{argnum}\\n\"\n|;
|
|
||||||
+ print qq| \"movlps %%$result->{register}, %$result->{argnum}\\n\"\n|;
|
|
||||||
+ print qq| \"movhps %%$result->{register}, %H$result->{argnum}\\n\"\n|;
|
|
||||||
}
|
|
||||||
elsif ($result->{type} eq "st")
|
|
||||||
{
|
|
||||||
@@ -817,11 +809,16 @@ while (<>)
|
|
||||||
|
|
||||||
foreach my $result (@results)
|
|
||||||
{
|
|
||||||
- if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w)$/)
|
|
||||||
+ if ($result->{type} =~ /^(m(8|16|32|64|128)|st|eflags|fpu[cs]w|r(8|16|32)|mm)$/)
|
|
||||||
{
|
|
||||||
print qq|$prefix\"=m\" \($result->{name}\)|;
|
|
||||||
$prefix = ", ";
|
|
||||||
}
|
|
||||||
+ elsif ($result->{type} eq "xmm")
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"=o\" \($result->{name}\)|;
|
|
||||||
+ $prefix = ", ";
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
print qq|\n|;
|
|
||||||
@@ -832,20 +829,18 @@ while (<>)
|
|
||||||
{
|
|
||||||
if (defined($arg->{name}))
|
|
||||||
{
|
|
||||||
- print qq|$prefix\"m\" \($arg->{name}\)|;
|
|
||||||
+ if ($arg->{type} eq "xmm")
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"o\" \($arg->{name}\)|;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ print qq|$prefix\"m\" \($arg->{name}\)|;
|
|
||||||
+ }
|
|
||||||
$prefix = ", ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- foreach my $result (@results)
|
|
||||||
- {
|
|
||||||
- if ($result->{type} =~ /^(r(8|16|32)|mm|xmm)$/)
|
|
||||||
- {
|
|
||||||
- print qq|$prefix\"m\" \($result->{name}\)|;
|
|
||||||
- $prefix = ", ";
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
print qq|$prefix\"m\" \(state[0]\)\n|;
|
|
||||||
|
|
||||||
$prefix = " : ";
|
|
@ -1,49 +0,0 @@
|
|||||||
--- valgrind-3.5.0/glibc-2.X.supp.in.jj 2009-08-19 09:37:48.000000000 -0400
|
|
||||||
+++ valgrind-3.5.0/glibc-2.X.supp.in 2009-08-21 09:03:55.168206000 -0400
|
|
||||||
@@ -168,9 +168,9 @@
|
|
||||||
Memcheck:Param
|
|
||||||
socketcall.sendto(msg)
|
|
||||||
fun:__sendto_nocancel
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
}
|
|
||||||
{
|
|
||||||
glibc24-64bit-padding-1c
|
|
||||||
@@ -180,7 +180,7 @@
|
|
||||||
fun:__nscd_get_map_ref
|
|
||||||
fun:nscd_get*_r
|
|
||||||
fun:*nscd*
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -199,18 +199,18 @@
|
|
||||||
Memcheck:Param
|
|
||||||
socketcall.sendto(msg)
|
|
||||||
fun:send
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
}
|
|
||||||
{
|
|
||||||
X11-64bit-padding-4b
|
|
||||||
Memcheck:Param
|
|
||||||
socketcall.send(msg)
|
|
||||||
fun:send
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
- obj:/*libc-@GLIBC_VERSION@.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
+ obj:/*libc-@GLIBC_VERSION@*.so
|
|
||||||
}
|
|
||||||
|
|
||||||
##----------------------------------------------------------------------##
|
|
@ -1,67 +0,0 @@
|
|||||||
--- valgrind/configure.in.jj 2010-10-21 03:14:02.000000000 +0200
|
|
||||||
+++ valgrind/configure.in 2010-11-05 17:09:18.674455299 +0100
|
|
||||||
@@ -749,6 +759,13 @@ case "${GLIBC_VERSION}" in
|
|
||||||
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
|
|
||||||
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
|
|
||||||
;;
|
|
||||||
+ 2.14)
|
|
||||||
+ AC_MSG_RESULT(2.14 family)
|
|
||||||
+ AC_DEFINE([GLIBC_2_14], 1, [Define to 1 if you're using glibc 2.14.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}"
|
|
||||||
+ ;;
|
|
||||||
aix5)
|
|
||||||
AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
|
|
||||||
AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
|
|
||||||
@@ -762,7 +779,7 @@ case "${GLIBC_VERSION}" in
|
|
||||||
|
|
||||||
*)
|
|
||||||
AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
|
|
||||||
- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.13])
|
|
||||||
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
|
|
||||||
AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION])
|
|
||||||
AC_MSG_ERROR([or Darwin libc])
|
|
||||||
;;
|
|
||||||
--- valgrind/config.h.in.jj 2010-10-20 22:20:49.000000000 +0200
|
|
||||||
+++ valgrind/config.h.in 2010-11-05 17:08:33.863454886 +0100
|
|
||||||
@@ -33,6 +33,9 @@
|
|
||||||
/* Define to 1 if you're using glibc 2.13.x */
|
|
||||||
#undef GLIBC_2_13
|
|
||||||
|
|
||||||
+/* Define to 1 if you're using glibc 2.14.x */
|
|
||||||
+#undef GLIBC_2_14
|
|
||||||
+
|
|
||||||
/* Define to 1 if you're using glibc 2.2.x */
|
|
||||||
#undef GLIBC_2_2
|
|
||||||
|
|
||||||
--- valgrind/configure.jj 2010-10-21 03:16:18.000000000 +0200
|
|
||||||
+++ valgrind/configure 2010-11-05 17:09:39.163455396 +0100
|
|
||||||
@@ -6367,6 +6389,18 @@ $as_echo "#define GLIBC_2_13 1" >>confde
|
|
||||||
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
|
|
||||||
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
|
|
||||||
;;
|
|
||||||
+ 2.14)
|
|
||||||
+ echo "$as_me:$LINENO: result: 2.14 family" >&5
|
|
||||||
+echo "${ECHO_T}2.14 family" >&6
|
|
||||||
+
|
|
||||||
+cat >>confdefs.h <<\_ACEOF
|
|
||||||
+#define GLIBC_2_14 1
|
|
||||||
+_ACEOF
|
|
||||||
+
|
|
||||||
+ 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}"
|
|
||||||
+ ;;
|
|
||||||
aix5)
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: AIX 5.1 or 5.2 or 5.3" >&5
|
|
||||||
$as_echo "AIX 5.1 or 5.2 or 5.3" >&6; }
|
|
||||||
@@ -6387,7 +6421,7 @@ $as_echo "#define DARWIN_LIBC 1" >>confd
|
|
||||||
*)
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
|
|
||||||
$as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
|
|
||||||
- as_fn_error "Valgrind requires glibc version 2.2 - 2.13" "$LINENO" 5
|
|
||||||
+ as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
|
|
||||||
as_fn_error "or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION" "$LINENO" 5
|
|
||||||
as_fn_error "or Darwin libc" "$LINENO" 5
|
|
||||||
;;
|
|
@ -1,60 +0,0 @@
|
|||||||
--- valgrind/helgrind/tests/tc07_hbl1.c.jj 2010-11-11 17:58:01.000000000 +0100
|
|
||||||
+++ valgrind/helgrind/tests/tc07_hbl1.c 2010-11-12 17:46:11.144455060 +0100
|
|
||||||
@@ -48,23 +48,23 @@
|
|
||||||
|| defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5)
|
|
||||||
# define INC(_lval,_lqual) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
- "L1xyzzy1" _lqual ":\n" \
|
|
||||||
+ "1:\n" \
|
|
||||||
" lwarx 15,0,%0\n" \
|
|
||||||
" addi 15,15,1\n" \
|
|
||||||
" stwcx. 15,0,%0\n" \
|
|
||||||
- " bne- L1xyzzy1" _lqual \
|
|
||||||
+ " bne- 1b\n" \
|
|
||||||
: /*out*/ : /*in*/ "b"(&(_lval)) \
|
|
||||||
: /*trash*/ "r15", "cr0", "memory" \
|
|
||||||
)
|
|
||||||
#elif defined(PLAT_arm_linux)
|
|
||||||
# define INC(_lval,_lqual) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
- "L1xyzzy1" _lqual ":\n" \
|
|
||||||
+ "1:\n" \
|
|
||||||
" ldrex r8, [%0, #0]\n" \
|
|
||||||
" add r8, r8, #1\n" \
|
|
||||||
" strex r9, r8, [%0, #0]\n" \
|
|
||||||
" cmp r9, #0\n" \
|
|
||||||
- " bne L1xyzzy1" _lqual \
|
|
||||||
+ " bne 1b\n" \
|
|
||||||
: /*out*/ : /*in*/ "r"(&(_lval)) \
|
|
||||||
: /*trash*/ "r8", "r9", "cc", "memory" \
|
|
||||||
);
|
|
||||||
--- valgrind/helgrind/tests/tc08_hbl2.c.jj 2010-11-11 17:58:01.000000000 +0100
|
|
||||||
+++ valgrind/helgrind/tests/tc08_hbl2.c 2010-11-12 17:47:05.295830288 +0100
|
|
||||||
@@ -65,23 +65,23 @@
|
|
||||||
|| defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5)
|
|
||||||
# define INC(_lval,_lqual) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
- "L1xyzzy1" _lqual ":\n" \
|
|
||||||
+ "1:\n" \
|
|
||||||
" lwarx 15,0,%0\n" \
|
|
||||||
" addi 15,15,1\n" \
|
|
||||||
" stwcx. 15,0,%0\n" \
|
|
||||||
- " bne- L1xyzzy1" _lqual \
|
|
||||||
+ " bne- 1b\n" \
|
|
||||||
: /*out*/ : /*in*/ "b"(&(_lval)) \
|
|
||||||
: /*trash*/ "r15", "cr0", "memory" \
|
|
||||||
)
|
|
||||||
#elif defined(PLAT_arm_linux)
|
|
||||||
# define INC(_lval,_lqual) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
- "L1xyzzy1" _lqual ":\n" \
|
|
||||||
+ "1:\n" \
|
|
||||||
" ldrex r8, [%0, #0]\n" \
|
|
||||||
" add r8, r8, #1\n" \
|
|
||||||
" strex r9, r8, [%0, #0]\n" \
|
|
||||||
" cmp r9, #0\n" \
|
|
||||||
- " bne L1xyzzy1" _lqual \
|
|
||||||
+ " bne 1b\n" \
|
|
||||||
: /*out*/ : /*in*/ "r"(&(_lval)) \
|
|
||||||
: /*trash*/ "r8", "r9", "cc", "memory" \
|
|
||||||
);
|
|
@ -1,78 +0,0 @@
|
|||||||
--- valgrind/coregrind/m_debuginfo/priv_storage.h (revision 11855)
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/priv_storage.h (revision 11904)
|
|
||||||
@@ -249,7 +249,15 @@ typedef
|
|
||||||
Cop_Add=0x321,
|
|
||||||
Cop_Sub,
|
|
||||||
Cop_And,
|
|
||||||
- Cop_Mul
|
|
||||||
+ Cop_Mul,
|
|
||||||
+ Cop_Shl,
|
|
||||||
+ Cop_Shr,
|
|
||||||
+ Cop_Eq,
|
|
||||||
+ Cop_Ge,
|
|
||||||
+ Cop_Gt,
|
|
||||||
+ Cop_Le,
|
|
||||||
+ Cop_Lt,
|
|
||||||
+ Cop_Ne
|
|
||||||
}
|
|
||||||
CfiOp;
|
|
||||||
|
|
||||||
--- valgrind/coregrind/m_debuginfo/readdwarf.c (revision 11855)
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/readdwarf.c (revision 11904)
|
|
||||||
@@ -2899,6 +2899,22 @@ static Int dwarfexpr_to_dag ( UnwindCont
|
|
||||||
op = Cop_And; opname = "and"; goto binop;
|
|
||||||
case DW_OP_mul:
|
|
||||||
op = Cop_Mul; opname = "mul"; goto binop;
|
|
||||||
+ case DW_OP_shl:
|
|
||||||
+ op = Cop_Shl; opname = "shl"; goto binop;
|
|
||||||
+ case DW_OP_shr:
|
|
||||||
+ op = Cop_Shr; opname = "shr"; goto binop;
|
|
||||||
+ case DW_OP_eq:
|
|
||||||
+ op = Cop_Eq; opname = "eq"; goto binop;
|
|
||||||
+ case DW_OP_ge:
|
|
||||||
+ op = Cop_Ge; opname = "ge"; goto binop;
|
|
||||||
+ case DW_OP_gt:
|
|
||||||
+ op = Cop_Gt; opname = "gt"; goto binop;
|
|
||||||
+ case DW_OP_le:
|
|
||||||
+ op = Cop_Le; opname = "le"; goto binop;
|
|
||||||
+ case DW_OP_lt:
|
|
||||||
+ op = Cop_Lt; opname = "lt"; goto binop;
|
|
||||||
+ case DW_OP_ne:
|
|
||||||
+ op = Cop_Ne; opname = "ne"; goto binop;
|
|
||||||
binop:
|
|
||||||
POP( ix );
|
|
||||||
POP( ix2 );
|
|
||||||
--- valgrind/coregrind/m_debuginfo/debuginfo.c (revision 11855)
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/debuginfo.c (revision 11904)
|
|
||||||
@@ -1880,6 +1880,14 @@ UWord evalCfiExpr ( XArray* exprs, Int i
|
|
||||||
case Cop_Sub: return wL - wR;
|
|
||||||
case Cop_And: return wL & wR;
|
|
||||||
case Cop_Mul: return wL * wR;
|
|
||||||
+ case Cop_Shl: return wL << wR;
|
|
||||||
+ case Cop_Shr: return wL >> wR;
|
|
||||||
+ case Cop_Eq: return wL == wR ? 1 : 0;
|
|
||||||
+ case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0;
|
|
||||||
+ case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0;
|
|
||||||
+ case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0;
|
|
||||||
+ case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0;
|
|
||||||
+ case Cop_Ne: return wL != wR ? 1 : 0;
|
|
||||||
default: goto unhandled;
|
|
||||||
}
|
|
||||||
/*NOTREACHED*/
|
|
||||||
--- valgrind/coregrind/m_debuginfo/storage.c (revision 11855)
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/storage.c (revision 11904)
|
|
||||||
@@ -603,6 +603,14 @@ static void ppCfiOp ( CfiOp op )
|
|
||||||
case Cop_Sub: VG_(printf)("-"); break;
|
|
||||||
case Cop_And: VG_(printf)("&"); break;
|
|
||||||
case Cop_Mul: VG_(printf)("*"); break;
|
|
||||||
+ case Cop_Shl: VG_(printf)("<<"); break;
|
|
||||||
+ case Cop_Shr: VG_(printf)(">>"); break;
|
|
||||||
+ case Cop_Eq: VG_(printf)("=="); break;
|
|
||||||
+ case Cop_Ge: VG_(printf)(">="); break;
|
|
||||||
+ case Cop_Gt: VG_(printf)(">"); break;
|
|
||||||
+ case Cop_Le: VG_(printf)("<="); break;
|
|
||||||
+ case Cop_Lt: VG_(printf)("<"); break;
|
|
||||||
+ case Cop_Ne: VG_(printf)("!="); break;
|
|
||||||
default: vg_assert(0);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
--- valgrind/coregrind/m_dispatch/dispatch-ppc64-linux.S (revision 11699)
|
|
||||||
+++ valgrind/coregrind/m_dispatch/dispatch-ppc64-linux.S (revision 11700)
|
|
||||||
@@ -310,7 +310,7 @@
|
|
||||||
/* start over */
|
|
||||||
b .VG_(run_innerloop__dispatch_unprofiled)
|
|
||||||
/*NOTREACHED*/
|
|
||||||
- .size VG_(run_innerloop), .-VG_(run_innerloop)
|
|
||||||
+ .size .VG_(run_innerloop), .-.VG_(run_innerloop)
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------*/
|
|
||||||
@@ -385,7 +385,7 @@
|
|
||||||
/* start over */
|
|
||||||
b .VG_(run_innerloop__dispatch_profiled)
|
|
||||||
/*NOTREACHED*/
|
|
||||||
- .size VG_(run_a_noredir_translation), .-VG_(run_a_noredir_translation)
|
|
||||||
+ .size .VG_(run_a_noredir_translation), .-.VG_(run_a_noredir_translation)
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------*/
|
|
@ -1,11 +0,0 @@
|
|||||||
--- valgrind/coregrind/m_syswrap/syswrap-ppc64-linux.c.jj 2010-10-20 22:19:41.000000000 +0200
|
|
||||||
+++ valgrind/coregrind/m_syswrap/syswrap-ppc64-linux.c 2011-01-28 13:12:32.698670101 +0100
|
|
||||||
@@ -1379,7 +1379,7 @@ static SyscallTableEntry syscall_table[]
|
|
||||||
// _____(__NR_rt_sigsuspend, sys_rt_sigsuspend), // 178
|
|
||||||
GENXY(__NR_pread64, sys_pread64), // 179
|
|
||||||
|
|
||||||
-// _____(__NR_pwrite64, sys_pwrite64), // 180
|
|
||||||
+ GENX_(__NR_pwrite64, sys_pwrite64), // 180
|
|
||||||
GENX_(__NR_chown, sys_chown), // 181
|
|
||||||
GENXY(__NR_getcwd, sys_getcwd), // 182
|
|
||||||
LINXY(__NR_capget, sys_capget), // 183
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,303 +0,0 @@
|
|||||||
--- valgrind/VEX/priv/guest_s390_helpers.c
|
|
||||||
+++ valgrind/VEX/priv/guest_s390_helpers.c
|
|
||||||
@@ -146,7 +146,6 @@
|
|
||||||
Bool
|
|
||||||
guest_s390x_state_requires_precise_mem_exns(Int minoff, Int maxoff)
|
|
||||||
{
|
|
||||||
- /* fixs390: not sure whether all of these are needed */
|
|
||||||
Int lr_min = offsetof(VexGuestS390XState, guest_LR);
|
|
||||||
Int lr_max = lr_min + 8 - 1;
|
|
||||||
Int sp_min = offsetof(VexGuestS390XState, guest_SP);
|
|
||||||
--- valgrind/VEX/priv/guest_s390_toIR.c
|
|
||||||
+++ valgrind/VEX/priv/guest_s390_toIR.c
|
|
||||||
@@ -115,21 +115,6 @@
|
|
||||||
dres.len = insn_length;
|
|
||||||
dres.continueAt = 0;
|
|
||||||
|
|
||||||
- /* fixs390: special insn for test purposes only. */
|
|
||||||
- /* All other special insns are handled in s390_decode_and_irgen() */
|
|
||||||
- {
|
|
||||||
- if (byte == 0x0) {
|
|
||||||
- /* There is no insn whose first byte is all zero. There never will be.
|
|
||||||
- So we use that for testing purposes when we hand-feed a basic block
|
|
||||||
- to VEX. We terminate such a basic block with 0x0000 which will then
|
|
||||||
- cause the translation to stop. */
|
|
||||||
- dres.whatNext = Dis_StopHere;
|
|
||||||
- dres.len = 2;
|
|
||||||
- irsb->next = mkaddr_expr(0x0);
|
|
||||||
- return dres;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* fixs390: we should probably pass the resteer-function and the callback
|
|
||||||
data. It's not needed for correctness but improves performance. */
|
|
||||||
|
|
||||||
--- valgrind/coregrind/m_sigframe/sigframe-s390x-linux.c
|
|
||||||
+++ valgrind/coregrind/m_sigframe/sigframe-s390x-linux.c
|
|
||||||
@@ -333,9 +333,10 @@
|
|
||||||
Addr sp = sp_top_of_frame;
|
|
||||||
|
|
||||||
vg_assert((flags & VKI_SA_SIGINFO) == 0);
|
|
||||||
+ vg_assert((sizeof(*frame) & 7) == 0);
|
|
||||||
+ vg_assert((sp & 7) == 0);
|
|
||||||
|
|
||||||
sp -= sizeof(*frame);
|
|
||||||
- sp = VG_ROUNDDN(sp, 16);
|
|
||||||
frame = (struct sigframe *)sp;
|
|
||||||
|
|
||||||
if (!extend(tst, sp, sizeof(*frame)))
|
|
||||||
@@ -392,8 +393,10 @@
|
|
||||||
Int sigNo = siginfo->si_signo;
|
|
||||||
|
|
||||||
vg_assert((flags & VKI_SA_SIGINFO) != 0);
|
|
||||||
+ vg_assert((sizeof(*frame) & 7) == 0);
|
|
||||||
+ vg_assert((sp & 7) == 0);
|
|
||||||
+
|
|
||||||
sp -= sizeof(*frame);
|
|
||||||
- sp = VG_ROUNDDN(sp, 16);
|
|
||||||
frame = (struct rt_sigframe *)sp;
|
|
||||||
|
|
||||||
if (!extend(tst, sp, sizeof(*frame)))
|
|
||||||
@@ -545,6 +548,8 @@
|
|
||||||
else
|
|
||||||
size = restore_rt_sigframe(tst, (struct rt_sigframe *)sp, &sigNo);
|
|
||||||
|
|
||||||
+ /* same as for creation: we must announce the full memory (including
|
|
||||||
+ alignment), otherwise massif might fail on longjmp */
|
|
||||||
VG_TRACK( die_mem_stack_signal, sp - VG_STACK_REDZONE_SZB,
|
|
||||||
size + VG_STACK_REDZONE_SZB );
|
|
||||||
|
|
||||||
--- valgrind/memcheck/tests/partiallydefinedeq.stderr.exp3
|
|
||||||
+++ valgrind/memcheck/tests/partiallydefinedeq.stderr.exp3
|
|
||||||
@@ -0,0 +1,20 @@
|
|
||||||
+
|
|
||||||
+On s390 we might see 2 or 3 errors.
|
|
||||||
+Conditional jump or move depends on uninitialised value(s)
|
|
||||||
+ at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
+ by 0x........: main (partiallydefinedeq.c:37)
|
|
||||||
+
|
|
||||||
+Conditional jump or move depends on uninitialised value(s)
|
|
||||||
+ at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
+ by 0x........: main (partiallydefinedeq.c:52)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+HEAP SUMMARY:
|
|
||||||
+ in use at exit: ... bytes in ... blocks
|
|
||||||
+ total heap usage: ... allocs, ... frees, ... bytes allocated
|
|
||||||
+
|
|
||||||
+For a detailed leak analysis, rerun with: --leak-check=full
|
|
||||||
+
|
|
||||||
+For counts of detected and suppressed errors, rerun with: -v
|
|
||||||
+Use --track-origins=yes to see where uninitialised values come from
|
|
||||||
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
|
|
||||||
--- valgrind/memcheck/tests/partiallydefinedeq.stderr.exp4
|
|
||||||
+++ valgrind/memcheck/tests/partiallydefinedeq.stderr.exp4
|
|
||||||
@@ -0,0 +1,24 @@
|
|
||||||
+
|
|
||||||
+On s390 we might see 2 or 3 errors.
|
|
||||||
+Conditional jump or move depends on uninitialised value(s)
|
|
||||||
+ at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
+ by 0x........: main (partiallydefinedeq.c:37)
|
|
||||||
+
|
|
||||||
+Conditional jump or move depends on uninitialised value(s)
|
|
||||||
+ at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
+ by 0x........: main (partiallydefinedeq.c:45)
|
|
||||||
+
|
|
||||||
+Conditional jump or move depends on uninitialised value(s)
|
|
||||||
+ at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
+ by 0x........: main (partiallydefinedeq.c:52)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+HEAP SUMMARY:
|
|
||||||
+ in use at exit: ... bytes in ... blocks
|
|
||||||
+ total heap usage: ... allocs, ... frees, ... bytes allocated
|
|
||||||
+
|
|
||||||
+For a detailed leak analysis, rerun with: --leak-check=full
|
|
||||||
+
|
|
||||||
+For counts of detected and suppressed errors, rerun with: -v
|
|
||||||
+Use --track-origins=yes to see where uninitialised values come from
|
|
||||||
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
|
|
||||||
--- valgrind/VEX/auxprogs/genoffsets.c
|
|
||||||
+++ valgrind/VEX/auxprogs/genoffsets.c
|
|
||||||
@@ -157,28 +157,18 @@
|
|
||||||
GENOFFSET(ARM,arm,R14);
|
|
||||||
GENOFFSET(ARM,arm,R15T);
|
|
||||||
|
|
||||||
- // fixs390 later: strip down to what is actually needed
|
|
||||||
- GENOFFSET(S390X,s390x,r0);
|
|
||||||
- GENOFFSET(S390X,s390x,r1);
|
|
||||||
+ // s390x
|
|
||||||
GENOFFSET(S390X,s390x,r2);
|
|
||||||
GENOFFSET(S390X,s390x,r3);
|
|
||||||
GENOFFSET(S390X,s390x,r4);
|
|
||||||
GENOFFSET(S390X,s390x,r5);
|
|
||||||
GENOFFSET(S390X,s390x,r6);
|
|
||||||
GENOFFSET(S390X,s390x,r7);
|
|
||||||
- GENOFFSET(S390X,s390x,r8);
|
|
||||||
- GENOFFSET(S390X,s390x,r9);
|
|
||||||
- GENOFFSET(S390X,s390x,r10);
|
|
||||||
- GENOFFSET(S390X,s390x,r11);
|
|
||||||
- GENOFFSET(S390X,s390x,r12);
|
|
||||||
- GENOFFSET(S390X,s390x,r13);
|
|
||||||
- GENOFFSET(S390X,s390x,r14);
|
|
||||||
GENOFFSET(S390X,s390x,r15);
|
|
||||||
GENOFFSET(S390X,s390x,IA);
|
|
||||||
GENOFFSET(S390X,s390x,SYSNO);
|
|
||||||
GENOFFSET(S390X,s390x,IP_AT_SYSCALL);
|
|
||||||
GENOFFSET(S390X,s390x,fpc);
|
|
||||||
- GENOFFSET(S390X,s390x,counter);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------*/
|
|
||||||
--- valgrind/coregrind/m_coredump/coredump-elf.c
|
|
||||||
+++ valgrind/coregrind/m_coredump/coredump-elf.c
|
|
||||||
@@ -237,7 +237,8 @@
|
|
||||||
/* prs->pr_reg has struct type. Need to take address. */
|
|
||||||
regs = (struct vki_user_regs_struct *)&(prs->pr_reg);
|
|
||||||
#else
|
|
||||||
- regs = (struct vki_user_regs_struct *)(prs->pr_reg);
|
|
||||||
+ regs = (struct vki_user_regs_struct *)prs->pr_reg;
|
|
||||||
+
|
|
||||||
vg_assert(sizeof(*regs) == sizeof(prs->pr_reg));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- valgrind/coregrind/m_debuginfo/debuginfo.c
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/debuginfo.c
|
|
||||||
@@ -1988,6 +1988,7 @@
|
|
||||||
case Creg_IA_IP: return eec->uregs->ia;
|
|
||||||
case Creg_IA_SP: return eec->uregs->sp;
|
|
||||||
case Creg_IA_BP: return eec->uregs->fp;
|
|
||||||
+ case Creg_S390_R14: return eec->uregs->lr;
|
|
||||||
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
|
|
||||||
# else
|
|
||||||
# error "Unsupported arch"
|
|
||||||
@@ -2384,14 +2385,9 @@
|
|
||||||
COMPUTE(uregsPrev.r11, uregsHere->r11, cfsi->r11_how, cfsi->r11_off);
|
|
||||||
COMPUTE(uregsPrev.r7, uregsHere->r7, cfsi->r7_how, cfsi->r7_off);
|
|
||||||
# elif defined(VGA_s390x)
|
|
||||||
- /* sepcial case for the first frame */
|
|
||||||
- if (cfsi->ra_how == CFIR_UNKNOWN)
|
|
||||||
- uregsPrev.ia = uregsHere->lr;
|
|
||||||
- else
|
|
||||||
- COMPUTE(uregsPrev.ia, uregsHere->ia, cfsi->ra_how, cfsi->ra_off);
|
|
||||||
+ COMPUTE(uregsPrev.ia, uregsHere->ia, cfsi->ra_how, cfsi->ra_off);
|
|
||||||
COMPUTE(uregsPrev.sp, uregsHere->sp, cfsi->sp_how, cfsi->sp_off);
|
|
||||||
COMPUTE(uregsPrev.fp, uregsHere->fp, cfsi->fp_how, cfsi->fp_off);
|
|
||||||
- /* we only need R14 for the first time, no need to calculate further*/
|
|
||||||
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
|
|
||||||
# else
|
|
||||||
# error "Unknown arch"
|
|
||||||
--- valgrind/coregrind/m_debuginfo/priv_storage.h
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/priv_storage.h
|
|
||||||
@@ -245,7 +245,8 @@
|
|
||||||
Creg_ARM_R13,
|
|
||||||
Creg_ARM_R12,
|
|
||||||
Creg_ARM_R15,
|
|
||||||
- Creg_ARM_R14
|
|
||||||
+ Creg_ARM_R14,
|
|
||||||
+ Creg_S390_R14
|
|
||||||
}
|
|
||||||
CfiReg;
|
|
||||||
|
|
||||||
--- valgrind/coregrind/m_debuginfo/readdwarf.c
|
|
||||||
+++ valgrind/coregrind/m_debuginfo/readdwarf.c
|
|
||||||
@@ -2327,6 +2327,16 @@
|
|
||||||
si->cfa_how = CFIC_IA_SPREL;
|
|
||||||
si->cfa_off = 160;
|
|
||||||
}
|
|
||||||
+ if (si->ra_how == CFIR_UNKNOWN) {
|
|
||||||
+ if (!debuginfo->cfsi_exprs)
|
|
||||||
+ debuginfo->cfsi_exprs = VG_(newXA)( ML_(dinfo_zalloc),
|
|
||||||
+ "di.ccCt.2a",
|
|
||||||
+ ML_(dinfo_free),
|
|
||||||
+ sizeof(CfiExpr) );
|
|
||||||
+ si->ra_how = CFIR_EXPR;
|
|
||||||
+ si->ra_off = ML_(CfiExpr_CfiReg)( debuginfo->cfsi_exprs,
|
|
||||||
+ Creg_S390_R14);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* knock out some obviously stupid cases */
|
|
||||||
if (si->ra_how == CFIR_SAME)
|
|
||||||
--- valgrind/coregrind/m_machine.c
|
|
||||||
+++ valgrind/coregrind/m_machine.c
|
|
||||||
@@ -268,7 +268,6 @@
|
|
||||||
(*f)(vex->guest_R13);
|
|
||||||
(*f)(vex->guest_R14);
|
|
||||||
#elif defined(VGA_s390x)
|
|
||||||
-/* fixs390: revisit once guest state is finalized */
|
|
||||||
(*f)(vex->guest_r0);
|
|
||||||
(*f)(vex->guest_r1);
|
|
||||||
(*f)(vex->guest_r2);
|
|
||||||
--- valgrind/coregrind/m_redir.c
|
|
||||||
+++ valgrind/coregrind/m_redir.c
|
|
||||||
@@ -1066,7 +1066,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
# elif defined(VGP_s390x_linux)
|
|
||||||
- /* fixs390 */
|
|
||||||
+ /* nothing so far */
|
|
||||||
|
|
||||||
# else
|
|
||||||
# error Unknown platform
|
|
||||||
--- valgrind/coregrind/m_syswrap/syswrap-main.c
|
|
||||||
+++ valgrind/coregrind/m_syswrap/syswrap-main.c
|
|
||||||
@@ -160,7 +160,8 @@
|
|
||||||
x86: Success(N) ==> edx:eax = N, cc = 0
|
|
||||||
Fail(N) ==> edx:eax = N, cc = 1
|
|
||||||
|
|
||||||
- s390x: fixs390 later: document it here
|
|
||||||
+ s390x: Success(N) ==> r2 = N
|
|
||||||
+ Fail(N) ==> r2 = -N
|
|
||||||
|
|
||||||
* The post wrapper is called if:
|
|
||||||
|
|
||||||
--- valgrind/memcheck/tests/partiallydefinedeq.c
|
|
||||||
+++ valgrind/memcheck/tests/partiallydefinedeq.c
|
|
||||||
@@ -66,7 +66,14 @@
|
|
||||||
// Hence also on ARM we get 3 errors, not 2.
|
|
||||||
+//
|
|
||||||
+// s390x is even more complicated: Depending on the architecture
|
|
||||||
+// level we have the 0x80808080 either in the literal pool (3 errors)
|
|
||||||
+// or with the extended immediate facility in an instruction (2 errors).
|
|
||||||
static __attribute__((noinline)) void bar ( void )
|
|
||||||
{
|
|
||||||
-#if defined(__powerpc__) || defined(__powerpc64__) || defined(__arm__) || defined(__s390x__)
|
|
||||||
- fprintf(stderr, "Currently running on ppc32/64/arm/s390x: this test should give 3 errors, not 2.\n");
|
|
||||||
+#if defined(__powerpc__) || defined(__powerpc64__) || defined(__arm__)
|
|
||||||
+ fprintf(stderr, "Currently running on ppc32/64/arm: this test should give 3 errors, not 2.\n");
|
|
||||||
#endif
|
|
||||||
+#if defined(__s390__)
|
|
||||||
+ fprintf(stderr, "On s390 we might see 2 or 3 errors.\n");
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
--- valgrind/memcheck/tests/partiallydefinedeq.stderr.exp2
|
|
||||||
+++ valgrind/memcheck/tests/partiallydefinedeq.stderr.exp2
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
|
|
||||||
-Currently running on ppc32/64/arm/s390x: this test should give 3 errors, not 2.
|
|
||||||
+Currently running on ppc32/64/arm: this test should give 3 errors, not 2.
|
|
||||||
Conditional jump or move depends on uninitialised value(s)
|
|
||||||
at 0x........: foo (partiallydefinedeq.c:15)
|
|
||||||
by 0x........: main (partiallydefinedeq.c:37)
|
|
||||||
--- valgrind/lackey/lk_main.c
|
|
||||||
+++ valgrind/lackey/lk_main.c
|
|
||||||
@@ -314,7 +314,8 @@ static Int type2index ( IRType ty )
|
|
||||||
case Ity_I128: return 5;
|
|
||||||
case Ity_F32: return 6;
|
|
||||||
case Ity_F64: return 7;
|
|
||||||
- case Ity_V128: return 8;
|
|
||||||
+ case Ity_F128: return 8;
|
|
||||||
+ case Ity_V128: return 9;
|
|
||||||
default: tl_assert(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -330,7 +331,8 @@ static HChar* nameOfTypeIndex ( Int i )
|
|
||||||
case 5: return "I128"; break;
|
|
||||||
case 6: return "F32"; break;
|
|
||||||
case 7: return "F64"; break;
|
|
||||||
- case 8: return "V128"; break;
|
|
||||||
+ case 8: return "F128"; break;
|
|
||||||
+ case 9: return "V128"; break;
|
|
||||||
default: tl_assert(0);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
--- valgrind/VEX/priv/guest_s390_cc.c.jj 2010-11-11 16:55:05.000000000 +0100
|
|
||||||
+++ valgrind/VEX/priv/guest_s390_cc.c 2010-11-11 17:38:10.786580286 +0100
|
|
||||||
@@ -39,8 +39,6 @@
|
|
||||||
#include "guest_s390_priv.h" /* irsb */
|
|
||||||
#include "guest_s390_cc.h"
|
|
||||||
|
|
||||||
-#if defined(VGA_s390x) /* guard the file */
|
|
||||||
-
|
|
||||||
static UInt s390_calculate_cc(ULong cc_op, ULong cc_dep1, ULong cc_dep2,
|
|
||||||
ULong cc_ndep);
|
|
||||||
|
|
||||||
@@ -418,6 +416,7 @@ s390_calculate_cc(ULong cc_op, ULong cc_
|
|
||||||
{
|
|
||||||
UInt psw;
|
|
||||||
|
|
||||||
+#if defined(VGA_s390x)
|
|
||||||
switch (cc_op) {
|
|
||||||
|
|
||||||
case S390_CC_OP_BITWISE:
|
|
||||||
@@ -611,6 +610,7 @@ s390_calculate_cc(ULong cc_op, ULong cc_
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
vpanic("s390_calculate_cc");
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -680,8 +680,6 @@ s390_call_calculate_cond(UInt m)
|
|
||||||
return call;
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif /* VGA_s390x */
|
|
||||||
-
|
|
||||||
/*---------------------------------------------------------------*/
|
|
||||||
/*--- end guest_s390_cc.c ---*/
|
|
||||||
/*---------------------------------------------------------------*/
|
|
@ -1,90 +0,0 @@
|
|||||||
--- valgrind/memcheck/tests/x86-linux/scalar.c (revision 11801)
|
|
||||||
+++ valgrind/memcheck/tests/x86-linux/scalar.c (revision 11802)
|
|
||||||
@@ -1,3 +1,5 @@
|
|
||||||
+#define _GNU_SOURCE
|
|
||||||
+
|
|
||||||
#include "../../memcheck.h"
|
|
||||||
#include "scalar.h"
|
|
||||||
#include <unistd.h>
|
|
||||||
--- valgrind/memcheck/tests/x86-linux/scalar.stderr.exp (revision 11801)
|
|
||||||
+++ valgrind/memcheck/tests/x86-linux/scalar.stderr.exp (revision 11802)
|
|
||||||
@@ -578,25 +578,25 @@
|
|
||||||
...
|
|
||||||
Address 0x........ is 0 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param sigaction(act->sa_mask) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
Address 0x........ is 4 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param sigaction(act->sa_flags) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
Address 0x........ is 8 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param sigaction(oldact) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
Address 0x........ is 0 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
-----------------------------------------------------
|
|
||||||
68: __NR_sgetmask n/a
|
|
||||||
@@ -1228,13 +1228,13 @@
|
|
||||||
...
|
|
||||||
Address 0x........ is 0 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param sigprocmask(oldset) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
Address 0x........ is 0 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
-----------------------------------------------------
|
|
||||||
127: __NR_create_module ni
|
|
||||||
@@ -1747,7 +1747,7 @@
|
|
||||||
...
|
|
||||||
Address 0x........ is 4 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
@@ -1757,13 +1757,13 @@
|
|
||||||
...
|
|
||||||
Address 0x........ is 8 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
Syscall param rt_sigaction(oldact) points to unaddressable byte(s)
|
|
||||||
...
|
|
||||||
Address 0x........ is 4 bytes after a block of size 4 alloc'd
|
|
||||||
at 0x........: malloc (vg_replace_malloc.c:...)
|
|
||||||
- by 0x........: main (scalar.c:28)
|
|
||||||
+ by 0x........: main (scalar.c:30)
|
|
||||||
|
|
||||||
-----------------------------------------------------
|
|
||||||
175: __NR_rt_sigprocmask 4s 2m
|
|
||||||
--- valgrind/memcheck/tests/linux/stack_switch.c (revision 11801)
|
|
||||||
+++ valgrind/memcheck/tests/linux/stack_switch.c (revision 11802)
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
#define _XOPEN_SOURCE 600
|
|
||||||
#define _BSD_SOURCE
|
|
||||||
+#define _GNU_SOURCE
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
|||||||
--- valgrind-3.6.1/coregrind/m_trampoline.S.jj 2011-02-22 15:47:55.000000000 +0100
|
|
||||||
+++ valgrind-3.6.1/coregrind/m_trampoline.S 2011-02-23 11:32:20.923402349 +0100
|
|
||||||
@@ -112,6 +112,27 @@ VG_(x86_linux_REDIR_FOR_index):
|
|
||||||
ret
|
|
||||||
.size VG_(x86_linux_REDIR_FOR_index), .-VG_(x86_linux_REDIR_FOR_index)
|
|
||||||
|
|
||||||
+/* There's no particular reason that this needs to be handwritten
|
|
||||||
+ assembly, but since that's what this file contains, here's a
|
|
||||||
+ simple strlen implementation (written in C and compiled by gcc.)
|
|
||||||
+*/
|
|
||||||
+.global VG_(x86_linux_REDIR_FOR_strlen)
|
|
||||||
+.type VG_(x86_linux_REDIR_FOR_strlen), @function
|
|
||||||
+VG_(x86_linux_REDIR_FOR_strlen):
|
|
||||||
+ pushl %ebp
|
|
||||||
+ movl %esp, %ebp
|
|
||||||
+ movl 8(%ebp), %edx
|
|
||||||
+ movl %edx, %eax
|
|
||||||
+ jmp 2f
|
|
||||||
+1: incl %eax
|
|
||||||
+2: cmpb $0, (%eax)
|
|
||||||
+ jne 1b
|
|
||||||
+ subl %edx, %eax
|
|
||||||
+ popl %ebp
|
|
||||||
+ ret
|
|
||||||
+.size VG_(x86_linux_REDIR_FOR_strlen), .-VG_(x86_linux_REDIR_FOR_strlen)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
.global VG_(trampoline_stuff_end)
|
|
||||||
VG_(trampoline_stuff_end):
|
|
||||||
|
|
||||||
--- valgrind-3.6.1/coregrind/pub_core_trampoline.h.jj 2011-02-22 15:47:55.000000000 +0100
|
|
||||||
+++ valgrind-3.6.1/coregrind/pub_core_trampoline.h 2011-02-23 11:25:40.350402084 +0100
|
|
||||||
@@ -60,6 +60,7 @@ extern Addr VG_(trampoline_stuff_end);
|
|
||||||
extern Addr VG_(x86_linux_SUBST_FOR_sigreturn);
|
|
||||||
extern Addr VG_(x86_linux_SUBST_FOR_rt_sigreturn);
|
|
||||||
extern Char* VG_(x86_linux_REDIR_FOR_index) ( const Char*, Int );
|
|
||||||
+extern UInt VG_(x86_linux_REDIR_FOR_strlen)( void* );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(VGP_amd64_linux)
|
|
||||||
--- valgrind-3.6.1/coregrind/m_redir.c.jj 2011-02-22 15:51:02.000000000 +0100
|
|
||||||
+++ valgrind-3.6.1/coregrind/m_redir.c 2011-02-23 11:24:33.502670646 +0100
|
|
||||||
@@ -924,20 +924,23 @@ void VG_(redir_initialise) ( void )
|
|
||||||
/* If we're using memcheck, use this intercept right from the
|
|
||||||
start, otherwise ld.so (glibc-2.3.5) makes a lot of noise. */
|
|
||||||
if (0==VG_(strcmp)("Memcheck", VG_(details).name)) {
|
|
||||||
+ const HChar** mandatory;
|
|
||||||
+# if defined(GLIBC_2_2) || defined(GLIBC_2_3) || defined(GLIBC_2_4) \
|
|
||||||
+ || defined(GLIBC_2_5) || defined(GLIBC_2_6) || defined(GLIBC_2_7) \
|
|
||||||
+ || defined(GLIBC_2_8) || defined(GLIBC_2_9) \
|
|
||||||
+ || defined(GLIBC_2_10) || defined(GLIBC_2_11)
|
|
||||||
+ mandatory = NULL;
|
|
||||||
+# else
|
|
||||||
+ /* for glibc-2.12 and later, this is mandatory - can't sanely
|
|
||||||
+ continue without it */
|
|
||||||
+ mandatory = complain_about_stripped_glibc_ldso;
|
|
||||||
+# endif
|
|
||||||
add_hardwired_spec(
|
|
||||||
"ld-linux.so.2", "index",
|
|
||||||
- (Addr)&VG_(x86_linux_REDIR_FOR_index),
|
|
||||||
-# if defined(GLIBC_2_2) || defined(GLIBC_2_3) || defined(GLIBC_2_4) \
|
|
||||||
- || defined(GLIBC_2_5) || defined(GLIBC_2_6) || defined(GLIBC_2_7) \
|
|
||||||
- || defined(GLIBC_2_8) || defined(GLIBC_2_9) \
|
|
||||||
- || defined(GLIBC_2_10) || defined(GLIBC_2_11)
|
|
||||||
- NULL
|
|
||||||
-# else
|
|
||||||
- /* for glibc-2.12 and later, this is mandatory - can't sanely
|
|
||||||
- continue without it */
|
|
||||||
- complain_about_stripped_glibc_ldso
|
|
||||||
-# endif
|
|
||||||
- );
|
|
||||||
+ (Addr)&VG_(x86_linux_REDIR_FOR_index), mandatory);
|
|
||||||
+ add_hardwired_spec(
|
|
||||||
+ "ld-linux.so.2", "strlen",
|
|
||||||
+ (Addr)&VG_(x86_linux_REDIR_FOR_strlen), mandatory);
|
|
||||||
}
|
|
||||||
|
|
||||||
# elif defined(VGP_amd64_linux)
|
|
@ -1,92 +0,0 @@
|
|||||||
--- valgrind/memcheck/mc_replace_strmem.c.jj 2011-06-08 17:26:29.000000000 +0200
|
|
||||||
+++ valgrind/memcheck/mc_replace_strmem.c 2011-06-09 14:49:11.000000000 +0200
|
|
||||||
@@ -558,11 +558,7 @@ MEMCHR(VG_Z_DYLD, memchr)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
-#define MEMCPY(soname, fnname) \
|
|
||||||
- void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
- ( void *dst, const void *src, SizeT len ); \
|
|
||||||
- void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
- ( void *dst, const void *src, SizeT len ) \
|
|
||||||
+#define MEMCPY_BODY \
|
|
||||||
{ \
|
|
||||||
if (is_overlap(dst, src, len, len)) \
|
|
||||||
RECORD_OVERLAP_ERROR("memcpy", dst, src, len); \
|
|
||||||
@@ -628,6 +624,18 @@ MEMCHR(VG_Z_DYLD, memchr)
|
|
||||||
\
|
|
||||||
return dst; \
|
|
||||||
}
|
|
||||||
+#define MEMCPY(soname, fnname) \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( void *dst, const void *src, SizeT len ); \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( void *dst, const void *src, SizeT len ) \
|
|
||||||
+ MEMCPY_BODY
|
|
||||||
+#define MEMCPY_ZZ(soname, fnname) \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZZ(soname,fnname) \
|
|
||||||
+ ( void *dst, const void *src, SizeT len ); \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZZ(soname,fnname) \
|
|
||||||
+ ( void *dst, const void *src, SizeT len ) \
|
|
||||||
+ MEMCPY_BODY
|
|
||||||
|
|
||||||
MEMCPY(VG_Z_LIBC_SONAME, memcpy)
|
|
||||||
#if defined(VGO_linux)
|
|
||||||
@@ -636,6 +644,11 @@ MEMCPY(VG_Z_LD64_SO_1, memcpy) /* ld64
|
|
||||||
#elif defined(VGO_darwin)
|
|
||||||
MEMCPY(VG_Z_DYLD, memcpy)
|
|
||||||
#endif
|
|
||||||
+#if defined(VGP_amd64_linux)
|
|
||||||
+/* In glibc 2.14+, memcpy@GLIBC_2.2.5 is an alias to memmove and only
|
|
||||||
+ memcpy@@GLIBC_2.14 is a real memcpy. */
|
|
||||||
+MEMCPY_ZZ(VG_Z_LIBC_SONAME, memcpyZAZAGLIBCZu2Zd14) /* memcpy@@GLIBC_2.14 */
|
|
||||||
+#endif
|
|
||||||
/* icc9 blats these around all over the place. Not only in the main
|
|
||||||
executable but various .so's. They are highly tuned and read
|
|
||||||
memory beyond the source boundary (although work correctly and
|
|
||||||
@@ -738,11 +751,7 @@ MEMSET(VG_Z_DYLD, memset)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
-#define MEMMOVE(soname, fnname) \
|
|
||||||
- void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
- (void *dstV, const void *srcV, SizeT n); \
|
|
||||||
- void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
- (void *dstV, const void *srcV, SizeT n) \
|
|
||||||
+#define MEMMOVE_BODY \
|
|
||||||
{ \
|
|
||||||
SizeT i; \
|
|
||||||
Char* dst = (Char*)dstV; \
|
|
||||||
@@ -758,12 +767,31 @@ MEMSET(VG_Z_DYLD, memset)
|
|
||||||
} \
|
|
||||||
return dst; \
|
|
||||||
}
|
|
||||||
+#define MEMMOVE(soname, fnname) \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ (void *dstV, const void *srcV, SizeT n); \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ (void *dstV, const void *srcV, SizeT n) \
|
|
||||||
+ MEMMOVE_BODY
|
|
||||||
+#define MEMMOVE_ZZ(soname, fnname) \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZZ(soname,fnname) \
|
|
||||||
+ (void *dstV, const void *srcV, SizeT n); \
|
|
||||||
+ void* VG_REPLACE_FUNCTION_ZZ(soname,fnname) \
|
|
||||||
+ (void *dstV, const void *srcV, SizeT n) \
|
|
||||||
+ MEMMOVE_BODY
|
|
||||||
|
|
||||||
MEMMOVE(VG_Z_LIBC_SONAME, memmove)
|
|
||||||
#if defined(VGO_darwin)
|
|
||||||
MEMMOVE(VG_Z_DYLD, memmove)
|
|
||||||
#endif
|
|
||||||
-
|
|
||||||
+#if defined(VGP_amd64_linux)
|
|
||||||
+/* In glibc 2.14+, memcpy@GLIBC_2.2.5 is an alias to memmove and only
|
|
||||||
+ memcpy@@GLIBC_2.14 is a real memcpy. It would be nice for
|
|
||||||
+ memcpy@GLIBC_2.2.5 to differentiate based on whether the caller
|
|
||||||
+ was calling memmove or memcpy@GLIBC_2.2.5, for now just treat
|
|
||||||
+ all such calls as memmove. */
|
|
||||||
+MEMMOVE_ZZ(VG_Z_LIBC_SONAME, memcpyZAGLIBCZu2Zd2Zd5) /* memcpy@GLIBC_2.2.5 */
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define BCOPY(soname, fnname) \
|
|
||||||
void VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
@ -1,18 +0,0 @@
|
|||||||
--- valgrind/none/tests/ppc32/xlc_dbl_u32.c.jj 2010-10-20 22:19:31.000000000 +0200
|
|
||||||
+++ valgrind/none/tests/ppc32/xlc_dbl_u32.c 2010-11-12 14:16:41.108580219 +0100
|
|
||||||
@@ -37,6 +37,7 @@ asm("\n"
|
|
||||||
" .long 0\n"
|
|
||||||
" .long 0x00000000\n"
|
|
||||||
" .long 0x00000000\n"
|
|
||||||
+".previous\n"
|
|
||||||
"\n"
|
|
||||||
" .section \".rodata\",\"a\"\n"
|
|
||||||
" .align 3\n"
|
|
||||||
@@ -48,6 +49,7 @@ asm("\n"
|
|
||||||
" .long 0x3fe66666\n"
|
|
||||||
" .long 0x66666666\n"
|
|
||||||
" .long 0x25640a00\n"
|
|
||||||
+".previous\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
int main (int argc, char** argv)
|
|
@ -1,5 +1,5 @@
|
|||||||
--- valgrind-3.4.0/cachegrind/cg_sim.c.jj 2007-01-08 02:43:10.000000000 -0500
|
--- valgrind-3.7.0/cachegrind/cg_sim.c.jj 2011-10-26 23:24:32.000000000 +0200
|
||||||
+++ valgrind-3.4.0/cachegrind/cg_sim.c 2007-02-13 07:15:46.000000000 -0500
|
+++ valgrind-3.7.0/cachegrind/cg_sim.c 2011-12-09 17:31:19.256023683 +0100
|
||||||
@@ -42,27 +42,30 @@ typedef struct {
|
@@ -42,27 +42,30 @@ typedef struct {
|
||||||
Int size; /* bytes */
|
Int size; /* bytes */
|
||||||
Int assoc;
|
Int assoc;
|
||||||
@ -52,13 +52,3 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* This is done as a macro rather than by passing in the cache_t2 as an
|
/* This is done as a macro rather than by passing in the cache_t2 as an
|
||||||
@@ -138,8 +138,7 @@ void cachesim_##L##_doref(Addr a, UChar
|
|
||||||
return; \
|
|
||||||
\
|
|
||||||
/* Second case: word straddles two lines. */ \
|
|
||||||
- /* Nb: this is a fast way of doing ((set1+1) % L.sets) */ \
|
|
||||||
- } else if (((set1 + 1) & (L.sets-1)) == set2) { \
|
|
||||||
+ } else if (((set1 + 1) & (L.sets_min_1)) == set2) { \
|
|
||||||
set = &(L.tags[set1 * L.assoc]); \
|
|
||||||
if (tag == set[0]) { \
|
|
||||||
goto block2; \
|
|
@ -1,5 +1,5 @@
|
|||||||
--- valgrind-3.5.0/coregrind/m_syswrap/syswrap-linux.c.jj 2010-04-07 08:14:12.000000000 -0400
|
--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj 2010-04-07 08:14:12.000000000 -0400
|
||||||
+++ valgrind-3.5.0/coregrind/m_syswrap/syswrap-linux.c 2010-04-12 07:24:12.838876000 -0400
|
+++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c 2010-04-12 07:24:12.838876000 -0400
|
||||||
@@ -1955,8 +1955,9 @@ PRE(sys_capget)
|
@@ -1955,8 +1955,9 @@ PRE(sys_capget)
|
||||||
vki_cap_user_header_t, header, vki_cap_user_data_t, data);
|
vki_cap_user_header_t, header, vki_cap_user_data_t, data);
|
||||||
PRE_MEM_READ( "capget(header)", ARG1,
|
PRE_MEM_READ( "capget(header)", ARG1,
|
11
valgrind-3.7.0-config_h.patch
Normal file
11
valgrind-3.7.0-config_h.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- valgrind/include/pub_tool_basics.h.jj 2011-10-26 23:24:32.000000000 +0200
|
||||||
|
+++ valgrind/include/pub_tool_basics.h 2011-12-09 17:42:50.828630546 +0100
|
||||||
|
@@ -290,7 +290,7 @@ static inline Bool sr_EQ ( SysRes sr1, S
|
||||||
|
#define VG_BUGS_TO "www.valgrind.org"
|
||||||
|
|
||||||
|
/* Branch prediction hints. */
|
||||||
|
-#if defined(__GNUC__)
|
||||||
|
+#if defined(__GNUC__) && (__GNUC__ >= 3)
|
||||||
|
# define LIKELY(x) __builtin_expect(!!(x), 1)
|
||||||
|
# define UNLIKELY(x) __builtin_expect(!!(x), 0)
|
||||||
|
#else
|
180
valgrind-3.7.0-f-sgetown-ex.patch
Normal file
180
valgrind-3.7.0-f-sgetown-ex.patch
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
--- valgrind-3.7.0/include/vki/vki-ppc64-linux.h.jj 2010-10-08 11:14:21.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-ppc64-linux.h 2012-01-27 16:45:19.418707191 +0100
|
||||||
|
@@ -386,6 +386,16 @@ struct vki_sigcontext {
|
||||||
|
#define VKI_F_SETSIG 10 /* for sockets. */
|
||||||
|
#define VKI_F_GETSIG 11 /* for sockets. */
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* for F_[GET|SET]FL */
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/include/vki/vki-arm-linux.h.jj 2011-03-28 16:09:17.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-arm-linux.h 2012-01-27 16:44:48.356887209 +0100
|
||||||
|
@@ -270,6 +270,16 @@ struct vki_sigcontext {
|
||||||
|
#define VKI_F_SETLK64 13
|
||||||
|
#define VKI_F_SETLKW64 14
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* for F_[GET|SET]FL */
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/include/vki/vki-x86-linux.h.jj 2010-10-08 11:14:21.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-x86-linux.h 2012-01-27 16:43:45.727249836 +0100
|
||||||
|
@@ -308,6 +308,16 @@ struct vki_sigcontext {
|
||||||
|
#define VKI_F_SETLK64 13
|
||||||
|
#define VKI_F_SETLKW64 14
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* for F_[GET|SET]FL */
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/include/vki/vki-ppc32-linux.h.jj 2010-10-08 11:14:21.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-ppc32-linux.h 2012-01-27 16:45:11.912752106 +0100
|
||||||
|
@@ -337,6 +337,16 @@ struct vki_sigcontext {
|
||||||
|
#define VKI_F_SETLK64 13
|
||||||
|
#define VKI_F_SETLKW64 14
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* for F_[GET|SET]FL */
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/include/vki/vki-s390x-linux.h.jj 2011-06-08 17:26:29.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-s390x-linux.h 2012-01-27 16:45:31.078639504 +0100
|
||||||
|
@@ -332,6 +332,16 @@ typedef struct vki_sigaltstack {
|
||||||
|
#define VKI_F_SETSIG 10 /* for sockets. */
|
||||||
|
#define VKI_F_GETSIG 11 /* for sockets. */
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
#define VKI_F_LINUX_SPECIFIC_BASE 1024
|
||||||
|
--- valgrind-3.7.0/include/vki/vki-amd64-linux.h.jj 2010-10-08 11:14:21.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-amd64-linux.h 2012-01-27 16:44:23.592030914 +0100
|
||||||
|
@@ -268,6 +268,16 @@ struct vki_sigcontext {
|
||||||
|
#define VKI_F_SETSIG 10 /* for sockets. */
|
||||||
|
#define VKI_F_GETSIG 11 /* for sockets. */
|
||||||
|
|
||||||
|
+#define VKI_F_SETOWN_EX 15
|
||||||
|
+#define VKI_F_GETOWN_EX 16
|
||||||
|
+
|
||||||
|
+struct vki_f_owner_ex
|
||||||
|
+{
|
||||||
|
+ enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
|
||||||
|
+ type; /* Owner type of ID. */
|
||||||
|
+ __vki_kernel_pid_t pid; /* ID of owner. */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
|
||||||
|
|
||||||
|
#define VKI_F_LINUX_SPECIFIC_BASE 1024
|
||||||
|
--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj 2011-08-02 14:49:29.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c 2012-01-27 17:08:11.621732289 +0100
|
||||||
|
@@ -3778,6 +3778,22 @@ PRE(sys_fcntl)
|
||||||
|
struct flock64 *, lock);
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ case VKI_F_SETOWN_EX:
|
||||||
|
+ PRINT("sys_fcntl[F_SETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
|
||||||
|
+ PRE_REG_READ3(long, "fcntl",
|
||||||
|
+ unsigned int, fd, unsigned int, cmd,
|
||||||
|
+ struct vki_f_owner_ex *, arg);
|
||||||
|
+ PRE_MEM_READ("fcntl(F_SETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ case VKI_F_GETOWN_EX:
|
||||||
|
+ PRINT("sys_fcntl[F_GETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
|
||||||
|
+ PRE_REG_READ3(long, "fcntl",
|
||||||
|
+ unsigned int, fd, unsigned int, cmd,
|
||||||
|
+ struct vki_f_owner_ex *, arg);
|
||||||
|
+ PRE_MEM_WRITE("fcntl(F_GETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
default:
|
||||||
|
PRINT("sys_fcntl[UNKNOWN] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
|
||||||
|
I_die_here;
|
||||||
|
@@ -3812,6 +3828,8 @@ POST(sys_fcntl)
|
||||||
|
if (VG_(clo_track_fds))
|
||||||
|
ML_(record_fd_open_named)(tid, RES);
|
||||||
|
}
|
||||||
|
+ } else if (ARG2 == VKI_F_GETOWN_EX) {
|
||||||
|
+ POST_MEM_WRITE(ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -3857,6 +3875,22 @@ PRE(sys_fcntl64)
|
||||||
|
unsigned int, fd, unsigned int, cmd,
|
||||||
|
struct flock64 *, lock);
|
||||||
|
break;
|
||||||
|
+
|
||||||
|
+ case VKI_F_SETOWN_EX:
|
||||||
|
+ PRINT("sys_fcntl[F_SETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
|
||||||
|
+ PRE_REG_READ3(long, "fcntl",
|
||||||
|
+ unsigned int, fd, unsigned int, cmd,
|
||||||
|
+ struct vki_f_owner_ex *, arg);
|
||||||
|
+ PRE_MEM_READ("fcntl(F_SETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ case VKI_F_GETOWN_EX:
|
||||||
|
+ PRINT("sys_fcntl[F_GETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
|
||||||
|
+ PRE_REG_READ3(long, "fcntl",
|
||||||
|
+ unsigned int, fd, unsigned int, cmd,
|
||||||
|
+ struct vki_f_owner_ex *, arg);
|
||||||
|
+ PRE_MEM_WRITE("fcntl(F_GETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
|
||||||
|
# if defined(VGP_x86_linux)
|
||||||
|
@@ -3887,6 +3921,8 @@ POST(sys_fcntl64)
|
||||||
|
if (VG_(clo_track_fds))
|
||||||
|
ML_(record_fd_open_named)(tid, RES);
|
||||||
|
}
|
||||||
|
+ } else if (ARG2 == VKI_F_GETOWN_EX) {
|
||||||
|
+ POST_MEM_WRITE(ARG3, sizeof(struct vki_f_owner_ex));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
65
valgrind-3.7.0-glibc-2.15.patch
Normal file
65
valgrind-3.7.0-glibc-2.15.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
--- valgrind-3.7.0/configure.in.jj 2011-11-05 12:13:30.000000000 +0100
|
||||||
|
+++ valgrind-3.7.0/configure.in 2011-12-09 17:48:21.409848842 +0100
|
||||||
|
@@ -775,6 +775,13 @@ case "${GLIBC_VERSION}" in
|
||||||
|
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
|
||||||
|
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
|
||||||
|
;;
|
||||||
|
+ 2.15)
|
||||||
|
+ AC_MSG_RESULT(2.15 family)
|
||||||
|
+ AC_DEFINE([GLIBC_2_15], 1, [Define to 1 if you're using glibc 2.15.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])
|
||||||
|
@@ -788,7 +795,7 @@ case "${GLIBC_VERSION}" in
|
||||||
|
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
|
||||||
|
- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
|
||||||
|
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.15])
|
||||||
|
AC_MSG_ERROR([or Darwin libc])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
--- valgrind-3.7.0/config.h.in.jj 2011-10-26 23:25:55.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/config.h.in 2011-12-09 17:47:42.385804043 +0100
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
/* Define to 1 if you're using glibc 2.14.x */
|
||||||
|
#undef GLIBC_2_14
|
||||||
|
|
||||||
|
+/* Define to 1 if you're using glibc 2.15.x */
|
||||||
|
+#undef GLIBC_2_15
|
||||||
|
+
|
||||||
|
/* Define to 1 if you're using glibc 2.2.x */
|
||||||
|
#undef GLIBC_2_2
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/configure.jj 2011-11-05 12:24:39.000000000 +0100
|
||||||
|
+++ valgrind-3.7.0/configure 2011-12-09 17:48:58.371930777 +0100
|
||||||
|
@@ -6402,6 +6402,16 @@ $as_echo "#define GLIBC_2_14 1" >>confde
|
||||||
|
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
|
||||||
|
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
|
||||||
|
;;
|
||||||
|
+ 2.15)
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5
|
||||||
|
+$as_echo "2.15 family" >&6; }
|
||||||
|
+
|
||||||
|
+$as_echo "#define GLIBC_2_15 1" >>confdefs.h
|
||||||
|
+
|
||||||
|
+ 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)
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
|
||||||
|
$as_echo "Darwin" >&6; }
|
||||||
|
@@ -6422,7 +6432,7 @@ $as_echo "#define BIONIC_LIBC 1" >>confd
|
||||||
|
*)
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
|
||||||
|
$as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
|
||||||
|
- as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
|
||||||
|
+ as_fn_error "Valgrind requires glibc version 2.2 - 2.15" "$LINENO" 5
|
||||||
|
as_fn_error "or Darwin libc" "$LINENO" 5
|
||||||
|
;;
|
||||||
|
esac
|
@ -15,8 +15,8 @@ main (void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
--- valgrind-3.3.0/coregrind/m_syswrap/syswrap-linux.c.jj 2007-12-11 00:18:43.000000000 +0100
|
--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj 2007-12-11 00:18:43.000000000 +0100
|
||||||
+++ valgrind-3.3.0/coregrind/m_syswrap/syswrap-linux.c 2008-03-03 11:35:15.000000000 +0100
|
+++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c 2008-03-03 11:35:15.000000000 +0100
|
||||||
@@ -2455,10 +2455,15 @@ PRE(sys_openat)
|
@@ -2455,10 +2455,15 @@ PRE(sys_openat)
|
||||||
int, dfd, const char *, filename, int, flags);
|
int, dfd, const char *, filename, int, flags);
|
||||||
}
|
}
|
72
valgrind-3.7.0-scsi-ioctls.patch
Normal file
72
valgrind-3.7.0-scsi-ioctls.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
--- valgrind-3.7.0/include/vki/vki-linux.h.jj 2011-10-26 23:24:31.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/include/vki/vki-linux.h 2012-01-27 16:11:53.373379491 +0100
|
||||||
|
@@ -1730,6 +1730,15 @@ typedef struct vki_sg_scsi_id { /* used
|
||||||
|
#define VKI_SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1 */
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
+// From linux-2.6.34/include/scsi/scsi.h and scsi/scsi_ioctl.h
|
||||||
|
+//----------------------------------------------------------------------
|
||||||
|
+
|
||||||
|
+#define VKI_SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */
|
||||||
|
+#define VKI_SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */
|
||||||
|
+#define VKI_SCSI_IOCTL_GET_IDLUN 0x5382
|
||||||
|
+#define VKI_SCSI_IOCTL_GET_BUS_NUMBER 0x5386
|
||||||
|
+
|
||||||
|
+//----------------------------------------------------------------------
|
||||||
|
// From linux-2.6.8.1/include/linux/cdrom.h
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj 2012-01-27 13:27:26.000000000 +0100
|
||||||
|
+++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c 2012-01-27 16:18:05.377177786 +0100
|
||||||
|
@@ -3935,6 +3935,10 @@ PRE(sys_ioctl)
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_STOP:
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_PAUSE:
|
||||||
|
+
|
||||||
|
+ /* SCSI no operand */
|
||||||
|
+ case VKI_SCSI_IOCTL_DOORLOCK:
|
||||||
|
+ case VKI_SCSI_IOCTL_DOORUNLOCK:
|
||||||
|
PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
|
||||||
|
PRE_REG_READ2(long, "ioctl",
|
||||||
|
unsigned int, fd, unsigned int, request);
|
||||||
|
@@ -4420,6 +4424,14 @@ PRE(sys_ioctl)
|
||||||
|
VKI_SIZEOF_STRUCT_HD_DRIVEID );
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ /* SCSI */
|
||||||
|
+ case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
|
||||||
|
+ PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_IDLUN)", ARG3, 2*sizeof(int));
|
||||||
|
+ break;
|
||||||
|
+ case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
|
||||||
|
+ PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", ARG3, sizeof(int));
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
/* CD ROM stuff (??) */
|
||||||
|
case VKI_CDROM_GET_MCN:
|
||||||
|
PRE_MEM_READ( "ioctl(CDROM_GET_MCN)", ARG3,
|
||||||
|
@@ -5521,6 +5533,10 @@ POST(sys_ioctl)
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_STOP:
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
|
||||||
|
case VKI_SNDRV_TIMER_IOCTL_PAUSE:
|
||||||
|
+
|
||||||
|
+ /* SCSI no operand */
|
||||||
|
+ case VKI_SCSI_IOCTL_DOORLOCK:
|
||||||
|
+ case VKI_SCSI_IOCTL_DOORUNLOCK:
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Real Time Clock (/dev/rtc) ioctls */
|
||||||
|
@@ -5587,6 +5603,14 @@ POST(sys_ioctl)
|
||||||
|
POST_MEM_WRITE(ARG3, VKI_SIZEOF_STRUCT_HD_DRIVEID );
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ /* SCSI */
|
||||||
|
+ case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
|
||||||
|
+ POST_MEM_WRITE(ARG3, 2*sizeof(int));
|
||||||
|
+ break;
|
||||||
|
+ case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
|
||||||
|
+ POST_MEM_WRITE(ARG3, sizeof(int));
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
/* CD ROM stuff (??) */
|
||||||
|
case VKI_CDROMSUBCHNL:
|
||||||
|
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_subchnl));
|
60
valgrind-3.7.0-tests.patch
Normal file
60
valgrind-3.7.0-tests.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
Disable some hanging tests, fix up bug125959-x86.c undefined behavior.
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/helgrind/tests/Makefile.am.jj 2011-10-26 23:24:25.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/helgrind/tests/Makefile.am 2012-01-27 15:01:58.955624195 +0100
|
||||||
|
@@ -94,7 +94,6 @@ EXTRA_DIST = \
|
||||||
|
# XXX: tc18_semabuse uses operations that are unsupported on Darwin. It
|
||||||
|
# should be conditionally compiled like tc20_verifywrap is.
|
||||||
|
check_PROGRAMS = \
|
||||||
|
- annotate_hbefore \
|
||||||
|
cond_timedwait_invalid \
|
||||||
|
free_is_write \
|
||||||
|
hg01_all_ok \
|
||||||
|
--- valgrind-3.7.0/helgrind/tests/Makefile.in.jj 2011-11-05 12:26:51.000000000 +0100
|
||||||
|
+++ valgrind-3.7.0/helgrind/tests/Makefile.in 2012-01-27 15:02:40.285383038 +0100
|
||||||
|
@@ -46,8 +46,7 @@ host_triplet = @host@
|
||||||
|
DIST_COMMON = $(dist_noinst_SCRIPTS) $(srcdir)/Makefile.am \
|
||||||
|
$(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
|
||||||
|
$(top_srcdir)/Makefile.tool-tests.am
|
||||||
|
-check_PROGRAMS = annotate_hbefore$(EXEEXT) \
|
||||||
|
- cond_timedwait_invalid$(EXEEXT) free_is_write$(EXEEXT) \
|
||||||
|
+check_PROGRAMS = cond_timedwait_invalid$(EXEEXT) free_is_write$(EXEEXT) \
|
||||||
|
hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \
|
||||||
|
hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \
|
||||||
|
hg06_readshared$(EXEEXT) locked_vs_unlocked1$(EXEEXT) \
|
||||||
|
--- valgrind-3.7.0/none/tests/x86/bug125959-x86.c.jj 2011-10-26 23:24:38.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/none/tests/x86/bug125959-x86.c 2012-01-27 15:00:11.648250429 +0100
|
||||||
|
@@ -22,7 +22,8 @@ static int lookup ( int i )
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
- int i, j;
|
||||||
|
+ int i;
|
||||||
|
+ unsigned int j;
|
||||||
|
for (i = 0; i < 256; i++)
|
||||||
|
buf[i] = (unsigned char) i;
|
||||||
|
|
||||||
|
--- valgrind-3.7.0/gdbserver_tests/Makefile.am.jj 2011-10-26 23:24:26.000000000 +0200
|
||||||
|
+++ valgrind-3.7.0/gdbserver_tests/Makefile.am 2012-01-27 14:56:43.369465872 +0100
|
||||||
|
@@ -102,9 +102,7 @@ check_PROGRAMS = \
|
||||||
|
clean_after_fork \
|
||||||
|
fork_chain \
|
||||||
|
passsigalrm \
|
||||||
|
- sleepers \
|
||||||
|
main_pic \
|
||||||
|
- t \
|
||||||
|
watchpoints
|
||||||
|
|
||||||
|
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
|
||||||
|
--- valgrind-3.7.0/gdbserver_tests/Makefile.in.jj 2011-11-05 12:26:51.000000000 +0100
|
||||||
|
+++ valgrind-3.7.0/gdbserver_tests/Makefile.in 2012-01-27 14:57:30.278191493 +0100
|
||||||
|
@@ -47,8 +47,7 @@ DIST_COMMON = $(dist_noinst_SCRIPTS) $(s
|
||||||
|
$(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
|
||||||
|
$(top_srcdir)/Makefile.tool-tests.am
|
||||||
|
check_PROGRAMS = clean_after_fork$(EXEEXT) fork_chain$(EXEEXT) \
|
||||||
|
- passsigalrm$(EXEEXT) sleepers$(EXEEXT) main_pic$(EXEEXT) \
|
||||||
|
- t$(EXEEXT) watchpoints$(EXEEXT)
|
||||||
|
+ passsigalrm$(EXEEXT) main_pic$(EXEEXT) watchpoints$(EXEEXT)
|
||||||
|
subdir = gdbserver_tests
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/configure.in
|
@ -1,31 +1,20 @@
|
|||||||
Summary: Tool for finding memory management bugs in programs
|
Summary: Tool for finding memory management bugs in programs
|
||||||
Name: valgrind
|
Name: valgrind
|
||||||
Version: 3.6.1
|
Version: 3.7.0
|
||||||
Release: 7%{?dist}
|
Release: 1%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
|
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
|
||||||
Patch1: valgrind-3.6.1-cachegrind-improvements.patch
|
Patch1: valgrind-3.7.0-cachegrind-improvements.patch
|
||||||
Patch2: valgrind-3.6.1-openat.patch
|
Patch2: valgrind-3.7.0-openat.patch
|
||||||
Patch3: valgrind-3.6.1-glibc-2.10.1.patch
|
Patch3: valgrind-3.7.0-helgrind-race-supp.patch
|
||||||
Patch4: valgrind-3.6.1-helgrind-race-supp.patch
|
Patch4: valgrind-3.7.0-stat_h.patch
|
||||||
Patch5: valgrind-3.6.1-stat_h.patch
|
Patch5: valgrind-3.7.0-config_h.patch
|
||||||
Patch6: valgrind-3.6.1-config_h.patch
|
Patch6: valgrind-3.7.0-capget.patch
|
||||||
Patch7: valgrind-3.6.1-capget.patch
|
Patch7: valgrind-3.7.0-glibc-2.15.patch
|
||||||
Patch8: valgrind-3.6.1-glibc-2.14.patch
|
Patch8: valgrind-3.7.0-pie.patch
|
||||||
Patch9: valgrind-3.6.1-s390x-1.patch
|
Patch9: valgrind-3.7.0-tests.patch
|
||||||
Patch10: valgrind-3.6.1-s390x-2.patch
|
Patch10: valgrind-3.7.0-f-sgetown-ex.patch
|
||||||
Patch11: valgrind-3.6.1-s390x-3.patch
|
Patch11: valgrind-3.7.0-scsi-ioctls.patch
|
||||||
Patch12: valgrind-3.6.1-s390x-4.patch
|
|
||||||
Patch13: valgrind-3.6.1-xlc_dbl_u32-test.patch
|
|
||||||
Patch14: valgrind-3.6.1-helgrind-tests.patch
|
|
||||||
Patch15: valgrind-3.6.1-ppc64-pwrite64.patch
|
|
||||||
Patch16: valgrind-3.6.1-pie.patch
|
|
||||||
Patch17: valgrind-3.6.1-gen_insn_test.patch
|
|
||||||
Patch18: valgrind-3.6.1-x86-ldso-strlen.patch
|
|
||||||
Patch19: valgrind-3.6.1-ppc64-build.patch
|
|
||||||
Patch20: valgrind-3.6.1-tests-_GNU_SOURCE.patch
|
|
||||||
Patch21: valgrind-3.6.1-x86_64-memcpy-memmove.patch
|
|
||||||
Patch22: valgrind-3.6.1-plt-unwind-info.patch
|
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: http://www.valgrind.org/
|
URL: http://www.valgrind.org/
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -111,19 +100,6 @@ for details.
|
|||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
|
||||||
%patch13 -p1
|
|
||||||
%patch14 -p1
|
|
||||||
%patch15 -p1
|
|
||||||
%patch16 -p1
|
|
||||||
%patch17 -p1
|
|
||||||
%patch18 -p1
|
|
||||||
%patch19 -p1
|
|
||||||
%patch20 -p1
|
|
||||||
%patch21 -p1
|
|
||||||
%patch22 -p1
|
|
||||||
|
|
||||||
chmod 755 none/tests/s390x/filter_stderr || :
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CC=gcc
|
CC=gcc
|
||||||
@ -223,8 +199,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.6.1-7
|
* Fri Jan 27 2012 Jakub Jelinek <jakub@redhat.com> 3.7.0-1
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
- update to 3.7.0 (#769213, #782910, #772343)
|
||||||
|
- handle some further SCSI ioctls (#783936)
|
||||||
|
- handle fcntl F_SETOWN_EX and F_GETOWN_EX (#770746)
|
||||||
|
|
||||||
* Wed Aug 17 2011 Adam Jackson <ajax@redhat.com> 3.6.1-6
|
* Wed Aug 17 2011 Adam Jackson <ajax@redhat.com> 3.6.1-6
|
||||||
- rebuild for rpm 4.9.1 trailing / bug
|
- rebuild for rpm 4.9.1 trailing / bug
|
||||||
|
Loading…
Reference in New Issue
Block a user