Accepting request 70871 from devel:tools

- revert removal for gcc-32bit requirement, breaks valgrinding
  32bit code on 64bit archs

  This has been removed 2010/Oct/21. The missing dependency is
  detected by configure ("checking for 32 bit build support... no")
  but this is not fatal when only running 64bit on 64bit archs. (forwarded request 70449 from StefanBruens)

OBS-URL: https://build.opensuse.org/request/show/70871
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/valgrind?expand=0&rev=43
This commit is contained in:
Sascha Peilicke 2011-05-23 09:59:14 +00:00 committed by Git OBS Bridge
commit aec1156334
9 changed files with 68426 additions and 33572 deletions

View File

@ -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

File diff suppressed because one or more lines are too long

20
valgrind-r11643.diff Normal file
View 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
View 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
View 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
View 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
);

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue May 17 11:46:04 UTC 2011 - stefan.bruens@rwth-aachen.de
- revert removal for gcc-32bit requirement, breaks valgrinding
32bit code on 64bit archs
-------------------------------------------------------------------
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

View File

@ -20,7 +20,7 @@
Name: valgrind
BuildRequires: docbook-xsl-stylesheets docbook_4 gcc-c++ glibc-devel-32bit libxslt xorg-x11-devel
%ifarch x86_64 ppc64
BuildRequires: glibc-devel-32bit
BuildRequires: glibc-devel-32bit gcc-32bit
%endif
Url: http://valgrind.org/
License: GPLv2+
@ -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"