- fix testsuite for s390 (kde#264800, kde#265762, kde#253206)
- Add folding rules for Clz32 and Clz64 (kde#243404) - Refresh s390x port (kde#243404) OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=26
This commit is contained in:
parent
1e4ff28232
commit
e34f56de3c
@ -1,42 +0,0 @@
|
||||
Index: memcheck/memcheck.h
|
||||
===================================================================
|
||||
--- memcheck/memcheck.h.orig
|
||||
+++ memcheck/memcheck.h
|
||||
@@ -134,6 +134,18 @@ typedef
|
||||
_qzz_res; \
|
||||
}))
|
||||
|
||||
+/* This is the old name for VALGRIND_MAKE_MEM_NOACCESS. Deprecated. */
|
||||
+#define VALGRIND_MAKE_NOACCESS(_qzz_addr,_qzz_len) \
|
||||
+ VALGRIND_MAKE_MEM_NOACCESS(_qzz_addr,_qzz_len)
|
||||
+
|
||||
+/* This is the old name for VALGRIND_MAKE_MEM_UNDEFINED. Deprecated. */
|
||||
+#define VALGRIND_MAKE_WRITABLE(_qzz_addr,_qzz_len) \
|
||||
+ VALGRIND_MAKE_MEM_UNDEFINED(_qzz_addr,_qzz_len)
|
||||
+
|
||||
+/* This is the old name for VALGRIND_MAKE_MEM_DEFINED. Deprecated. */
|
||||
+#define VALGRIND_MAKE_READABLE(_qzz_addr,_qzz_len) \
|
||||
+ VALGRIND_MAKE_MEM_DEFINED(_qzz_addr,_qzz_len)
|
||||
+
|
||||
/* Similar to VALGRIND_MAKE_MEM_DEFINED except that addressability is
|
||||
not altered: bytes which are addressable are marked as defined,
|
||||
but those which are not addressable are left unchanged. */
|
||||
@@ -205,6 +217,18 @@ typedef
|
||||
(volatile unsigned char *)&(__lvalue), \
|
||||
(unsigned long)(sizeof (__lvalue)))
|
||||
|
||||
+/* This is the old name for VALGRIND_CHECK_MEM_IS_ADDRESSABLE. Deprecated. */
|
||||
+#define VALGRIND_CHECK_WRITABLE(_qzz_addr,_qzz_len) \
|
||||
+ VALGRIND_CHECK_MEM_IS_ADDRESSABLE(_qzz_addr,_qzz_len)
|
||||
+
|
||||
+/* This is the old name for VALGRIND_CHECK_MEM_IS_DEFINED. Deprecated. */
|
||||
+#define VALGRIND_CHECK_READABLE(_qzz_addr,_qzz_len) \
|
||||
+ VALGRIND_CHECK_MEM_IS_DEFINED(_qzz_addr,_qzz_len)
|
||||
+
|
||||
+/* This is the old name for VALGRIND_CHECK_VALUE_IS_DEFINED. Deprecated. */
|
||||
+#define VALGRIND_CHECK_DEFINED(__lvalue) \
|
||||
+ VALGRIND_CHECK_VALUE_IS_DEFINED(__lvalue)
|
||||
+
|
||||
|
||||
/* Do a full memory leak check (like --leak-check=full) mid-execution. */
|
||||
#define VALGRIND_DO_LEAK_CHECK \
|
File diff suppressed because it is too large
Load Diff
68256
valgrind-3.6.0.svn11566-s390x-port.diff
Normal file
68256
valgrind-3.6.0.svn11566-s390x-port.diff
Normal file
File diff suppressed because one or more lines are too long
20
valgrind-r11643.diff
Normal file
20
valgrind-r11643.diff
Normal file
@ -0,0 +1,20 @@
|
||||
------------------------------------------------------------------------
|
||||
r11643 | sewardj | 2011-03-14 10:53:44 +0100 (Mo, 14. Mär 2011) | 3 Zeilen
|
||||
|
||||
Build fix for older s390x-linux assemblers. Fixes #264800.
|
||||
(Florian Krohm, britzel@acm.org)
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Index: helgrind/tests/tc03_re_excl.c
|
||||
===================================================================
|
||||
--- helgrind/tests/tc03_re_excl.c (Revision 11642)
|
||||
+++ helgrind/tests/tc03_re_excl.c (Revision 11643)
|
||||
@@ -10,7 +10,7 @@
|
||||
/* A simple function to "use" a value, so that gcc can't
|
||||
possibly optimise it into nothing. */
|
||||
static void use ( int x ) {
|
||||
- __asm__ __volatile__( "nop" : : "r"(x) : "cc","memory" );
|
||||
+ __asm__ __volatile__( "" : : "r"(x) : "cc","memory" );
|
||||
}
|
||||
|
||||
static void* worker_thread ( void* argV )
|
35
valgrind-r11644.diff
Normal file
35
valgrind-r11644.diff
Normal file
@ -0,0 +1,35 @@
|
||||
------------------------------------------------------------------------
|
||||
r11644 | sewardj | 2011-03-15 09:13:08 +0100 (Di, 15. Mär 2011) | 3 Zeilen
|
||||
|
||||
Some fixes for the faultstatus testcase. Fixes #253206.
|
||||
(Christian Borntraeger, borntraeger@de.ibm.com)
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Index: none/tests/faultstatus.c
|
||||
===================================================================
|
||||
--- none/tests/faultstatus.c (Revision 11643)
|
||||
+++ none/tests/faultstatus.c (Revision 11644)
|
||||
@@ -70,7 +70,13 @@ static int testcode(int code, int want)
|
||||
|
||||
static int testaddr(void *addr, volatile void *want)
|
||||
{
|
||||
+ /* Some architectures (e.g. s390) just provide enough information to
|
||||
+ resolve the page fault, but do not provide the offset within a page */
|
||||
+#if defined(__s390__)
|
||||
+ if (addr != (void *) ((unsigned long) want & ~0xffful)) {
|
||||
+#else
|
||||
if (addr != want) {
|
||||
+#endif
|
||||
fprintf(stderr, " FAIL: expected si_addr==%p, not %p\n", want, addr);
|
||||
return 0;
|
||||
}
|
||||
@@ -132,7 +138,8 @@ int main()
|
||||
for(i = 0; i < sizeof(sigs)/sizeof(*sigs); i++)
|
||||
sigaction(sigs[i], &sa, NULL);
|
||||
|
||||
- fd = open("faultstatus.tmp", O_CREAT|O_TRUNC|O_EXCL, 0600);
|
||||
+ /* we need O_RDWR for the truncate below */
|
||||
+ fd = open("faultstatus.tmp", O_CREAT|O_TRUNC|O_EXCL|O_RDWR, 0600);
|
||||
if (fd == -1) {
|
||||
perror("tmpfile");
|
||||
exit(1);
|
62
valgrind-vex-r2106.diff
Normal file
62
valgrind-vex-r2106.diff
Normal file
@ -0,0 +1,62 @@
|
||||
------------------------------------------------------------------------
|
||||
r2106 | sewardj | 2011-03-07 19:34:34 +0100 (Mo, 07. Mär 2011) | 4 Zeilen
|
||||
|
||||
Add folding rules for Clz32 and Clz64. See bug 243404 comment 52.
|
||||
(Florian Krohn, britzel@acm.org).
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
--- priv/ir_opt.c
|
||||
+++ priv/ir_opt.c
|
||||
@@ -956,6 +956,31 @@ static IRExpr* mkOnesOfPrimopResultType
|
||||
}
|
||||
}
|
||||
|
||||
+/* Helpers for folding Clz32/64. */
|
||||
+static UInt fold_Clz64 ( ULong value )
|
||||
+{
|
||||
+ UInt i;
|
||||
+ vassert(value != 0ULL); /* no defined semantics for arg==0 */
|
||||
+ for (i = 0; i < 64; ++i) {
|
||||
+ if (value & (((ULong)1) << (63 - i))) return i;
|
||||
+ }
|
||||
+ vassert(0);
|
||||
+ /*NOTREACHED*/
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static UInt fold_Clz32 ( UInt value )
|
||||
+{
|
||||
+ UInt i;
|
||||
+ vassert(value != 0); /* no defined semantics for arg==0 */
|
||||
+ for (i = 0; i < 32; ++i) {
|
||||
+ if (value & (((UInt)1) << (31 - i))) return i;
|
||||
+ }
|
||||
+ vassert(0);
|
||||
+ /*NOTREACHED*/
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
|
||||
static IRExpr* fold_Expr ( IRExpr* e )
|
||||
{
|
||||
@@ -1154,6 +1179,19 @@ static IRExpr* fold_Expr ( IRExpr* e )
|
||||
break;
|
||||
}
|
||||
|
||||
+ case Iop_Clz32: {
|
||||
+ UInt u32 = e->Iex.Unop.arg->Iex.Const.con->Ico.U32;
|
||||
+ if (u32 != 0)
|
||||
+ e2 = IRExpr_Const(IRConst_U32(fold_Clz32(u32)));
|
||||
+ break;
|
||||
+ }
|
||||
+ case Iop_Clz64: {
|
||||
+ ULong u64 = e->Iex.Unop.arg->Iex.Const.con->Ico.U64;
|
||||
+ if (u64 != 0ULL)
|
||||
+ e2 = IRExpr_Const(IRConst_U64(fold_Clz64(u64)));
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
default:
|
||||
goto unhandled;
|
||||
}
|
28
valgrind-vex-r2109.diff
Normal file
28
valgrind-vex-r2109.diff
Normal file
@ -0,0 +1,28 @@
|
||||
--- pub/libvex.h
|
||||
+++ pub/libvex.h
|
||||
@@ -381,15 +381,25 @@
|
||||
/* Initialise the library. You must call this first. */
|
||||
|
||||
extern void LibVEX_Init (
|
||||
+
|
||||
/* failure exit function */
|
||||
+# if __cplusplus == 1 && __GNUC__ && __GNUC__ <= 3
|
||||
+ /* g++ 3.x doesn't understand attributes on function parameters.
|
||||
+ See #265762. */
|
||||
+# else
|
||||
__attribute__ ((noreturn))
|
||||
+# endif
|
||||
void (*failure_exit) ( void ),
|
||||
+
|
||||
/* logging output function */
|
||||
void (*log_bytes) ( HChar*, Int nbytes ),
|
||||
+
|
||||
/* debug paranoia level */
|
||||
Int debuglevel,
|
||||
+
|
||||
/* Are we supporting valgrind checking? */
|
||||
Bool valgrind_support,
|
||||
+
|
||||
/* Control ... */
|
||||
/*READONLY*/VexControl* vcon
|
||||
);
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 11 13:11:43 CEST 2011 - dmueller@suse.de
|
||||
|
||||
- fix testsuite for s390 (kde#264800, kde#265762, kde#253206)
|
||||
- Add folding rules for Clz32 and Clz64 (kde#243404)
|
||||
- Refresh s390x port (kde#243404)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 16 11:23:54 CET 2011 - dmueller@suse.de
|
||||
|
||||
|
@ -33,8 +33,11 @@ Source0: %{name}-%{version}.tar.bz2
|
||||
# svn di svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_5_0 svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_5_BRANCH > 3_5_BRANCH.diff
|
||||
# svn di svn://svn.valgrind.org/vex/tags/VEX_3_5_0 svn://svn.valgrind.org/vex/branches/VEX_3_5_BRANCH > VEX_3_5_BRANCH.diff
|
||||
Patch1: jit-register-unregister.diff
|
||||
Patch2: deprecated.diff
|
||||
Patch3: valgrind-3.5.90.svn11391-s390x-port.diff
|
||||
Patch3: valgrind-3.6.0.svn11566-s390x-port.diff
|
||||
Patch5: valgrind-vex-r2109.diff
|
||||
Patch6: valgrind-r11644.diff
|
||||
Patch7: valgrind-r11643.diff
|
||||
Patch8: valgrind-vex-r2106.diff
|
||||
%if %suse_version <= 1100
|
||||
Provides: valgrind-devel = %version
|
||||
%endif
|
||||
@ -126,13 +129,15 @@ Authors:
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
cd VEX
|
||||
%patch5
|
||||
%patch8
|
||||
cd ..
|
||||
%patch1
|
||||
%ifarch s390x
|
||||
#%ifarch s390x
|
||||
%patch3
|
||||
%endif
|
||||
# probably no longer needed, kept around already for a long time (2010-10-12)
|
||||
#%patch2
|
||||
#%endif
|
||||
%patch6
|
||||
%patch7
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
|
Loading…
Reference in New Issue
Block a user