valgrind: update to 3.6.1.
This commit is contained in:
parent
156feef8ae
commit
cbfc5992c2
4 changed files with 2 additions and 236 deletions
|
@ -1,151 +0,0 @@
|
||||||
Index: memcheck/mc_replace_strmem.c
|
|
||||||
===================================================================
|
|
||||||
--- memcheck/mc_replace_strmem.c (revision 11477)
|
|
||||||
+++ memcheck/mc_replace_strmem.c (revision 11478)
|
|
||||||
@@ -35,10 +35,13 @@
|
|
||||||
#include "pub_tool_redir.h"
|
|
||||||
#include "pub_tool_tooliface.h"
|
|
||||||
#include "valgrind.h"
|
|
||||||
+#include "config.h"
|
|
||||||
|
|
||||||
#include "mc_include.h"
|
|
||||||
#include "memcheck.h"
|
|
||||||
|
|
||||||
+#include <ctype.h>
|
|
||||||
+
|
|
||||||
/* ---------------------------------------------------------------------
|
|
||||||
We have our own versions of these functions for two reasons:
|
|
||||||
(a) it allows us to do overlap checking
|
|
||||||
@@ -403,6 +406,120 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
+#define STRCASECMP(soname, fnname) \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2 ); \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2 ) \
|
|
||||||
+ { \
|
|
||||||
+ register unsigned char c1; \
|
|
||||||
+ register unsigned char c2; \
|
|
||||||
+ while (True) { \
|
|
||||||
+ c1 = tolower(*(unsigned char *)s1); \
|
|
||||||
+ c2 = tolower(*(unsigned char *)s2); \
|
|
||||||
+ if (c1 != c2) break; \
|
|
||||||
+ if (c1 == 0) break; \
|
|
||||||
+ s1++; s2++; \
|
|
||||||
+ } \
|
|
||||||
+ if ((unsigned char)c1 < (unsigned char)c2) return -1; \
|
|
||||||
+ if ((unsigned char)c1 > (unsigned char)c2) return 1; \
|
|
||||||
+ return 0; \
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+STRCASECMP(VG_Z_LIBC_SONAME, strcasecmp)
|
|
||||||
+#if defined(VGO_linux)
|
|
||||||
+STRCASECMP(VG_Z_LIBC_SONAME, __GI_strcasecmp)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define STRNCASECMP(soname, fnname) \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, SizeT nmax ); \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, SizeT nmax ) \
|
|
||||||
+ { \
|
|
||||||
+ SizeT n = 0; \
|
|
||||||
+ while (True) { \
|
|
||||||
+ if (n >= nmax) return 0; \
|
|
||||||
+ if (*s1 == 0 && *s2 == 0) return 0; \
|
|
||||||
+ if (*s1 == 0) return -1; \
|
|
||||||
+ if (*s2 == 0) return 1; \
|
|
||||||
+ \
|
|
||||||
+ if (tolower(*(unsigned char*)s1) < tolower(*(unsigned char*)s2)) return -1; \
|
|
||||||
+ if (tolower(*(unsigned char*)s1) > tolower(*(unsigned char*)s2)) return 1; \
|
|
||||||
+ \
|
|
||||||
+ s1++; s2++; n++; \
|
|
||||||
+ } \
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+STRNCASECMP(VG_Z_LIBC_SONAME, strncasecmp)
|
|
||||||
+#if defined(VGO_linux)
|
|
||||||
+STRNCASECMP(VG_Z_LIBC_SONAME, __GI_strncasecmp)
|
|
||||||
+#elif defined(VGO_darwin)
|
|
||||||
+STRNCASECMP(VG_Z_DYLD, strncasecmp)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#ifdef HAVE_TOLOWER_L
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define STRCASECMP_L(soname, fnname) \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, locale_t locale ); \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, locale_t locale ) \
|
|
||||||
+ { \
|
|
||||||
+ register unsigned char c1; \
|
|
||||||
+ register unsigned char c2; \
|
|
||||||
+ while (True) { \
|
|
||||||
+ c1 = tolower_l(*(unsigned char *)s1, locale); \
|
|
||||||
+ c2 = tolower_l(*(unsigned char *)s2, locale); \
|
|
||||||
+ if (c1 != c2) break; \
|
|
||||||
+ if (c1 == 0) break; \
|
|
||||||
+ s1++; s2++; \
|
|
||||||
+ } \
|
|
||||||
+ if ((unsigned char)c1 < (unsigned char)c2) return -1; \
|
|
||||||
+ if ((unsigned char)c1 > (unsigned char)c2) return 1; \
|
|
||||||
+ return 0; \
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+STRCASECMP_L(VG_Z_LIBC_SONAME, strcasecmp_l)
|
|
||||||
+#if defined(VGO_linux)
|
|
||||||
+STRCASECMP_L(VG_Z_LIBC_SONAME, __GI_strcasecmp_l)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define STRNCASECMP_L(soname, fnname) \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, SizeT nmax, locale_t locale ); \
|
|
||||||
+ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
+ ( const char* s1, const char* s2, SizeT nmax, locale_t locale ) \
|
|
||||||
+ { \
|
|
||||||
+ SizeT n = 0; \
|
|
||||||
+ while (True) { \
|
|
||||||
+ if (n >= nmax) return 0; \
|
|
||||||
+ if (*s1 == 0 && *s2 == 0) return 0; \
|
|
||||||
+ if (*s1 == 0) return -1; \
|
|
||||||
+ if (*s2 == 0) return 1; \
|
|
||||||
+ \
|
|
||||||
+ if (tolower_l(*(unsigned char*)s1, locale) < tolower_l(*(unsigned char*)s2, locale)) return -1; \
|
|
||||||
+ if (tolower_l(*(unsigned char*)s1, locale) > tolower_l(*(unsigned char*)s2, locale)) return 1; \
|
|
||||||
+ \
|
|
||||||
+ s1++; s2++; n++; \
|
|
||||||
+ } \
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+STRNCASECMP_L(VG_Z_LIBC_SONAME, strncasecmp_l)
|
|
||||||
+#if defined(VGO_linux)
|
|
||||||
+STRNCASECMP_L(VG_Z_LIBC_SONAME, __GI_strncasecmp_l)
|
|
||||||
+#elif defined(VGO_darwin)
|
|
||||||
+STRNCASECMP_L(VG_Z_DYLD, strncasecmp_l)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
#define STRCMP(soname, fnname) \
|
|
||||||
int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
|
|
||||||
( const char* s1, const char* s2 ); \
|
|
||||||
Index: configure.in
|
|
||||||
===================================================================
|
|
||||||
--- configure.in (revision 11477)
|
|
||||||
+++ configure.in (revision 11478)
|
|
||||||
@@ -1549,6 +1549,7 @@
|
|
||||||
strstr \
|
|
||||||
syscall \
|
|
||||||
timerfd \
|
|
||||||
+ tolower_l \
|
|
||||||
utimensat \
|
|
||||||
])
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
--- config.h.in.orig 2010-10-21 06:20:49.000000000 +1000
|
|
||||||
+++ config.h.in 2011-01-19 10:31:18.476673930 +1000
|
|
||||||
@@ -33,6 +33,9 @@
|
|
||||||
/* Define to 1 if you're using glibc 2.12.x */
|
|
||||||
#undef GLIBC_2_12
|
|
||||||
|
|
||||||
+/* Define to 1 if you're using glibc 2.13.x */
|
|
||||||
+#undef GLIBC_2_13
|
|
||||||
+
|
|
||||||
/* Define to 1 if you're using glibc 2.2.x */
|
|
||||||
#undef GLIBC_2_2
|
|
||||||
|
|
||||||
--- configure.orig 2010-10-21 11:16:18.000000000 +1000
|
|
||||||
+++ configure 2011-01-19 10:32:20.346673926 +1000
|
|
||||||
@@ -6367,6 +6367,16 @@
|
|
||||||
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
|
|
||||||
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
|
|
||||||
;;
|
|
||||||
+ 2.13)
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.13 family" >&5
|
|
||||||
+$as_echo "2.13 family" >&6; }
|
|
||||||
+
|
|
||||||
+$as_echo "#define GLIBC_2_13 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}"
|
|
||||||
+ ;;
|
|
||||||
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; }
|
|
|
@ -1,51 +0,0 @@
|
||||||
Saves having to rebuild valgrind on glibc-x.x.* patch level releases
|
|
||||||
|
|
||||||
--- glibc-2.X.supp.in.o 2009-08-19 23:37:48.000000000 +1000
|
|
||||||
+++ glibc-2.X.supp.in 2010-05-22 19:43:08.088007038 +1000
|
|
||||||
@@ -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,13 +1,12 @@
|
||||||
# Template file for 'valgrind'
|
# Template file for 'valgrind'
|
||||||
pkgname=valgrind
|
pkgname=valgrind
|
||||||
version=3.6.0
|
version=3.6.1
|
||||||
revision=2
|
|
||||||
distfiles="http://www.valgrind.org/downloads/$pkgname-$version.tar.bz2"
|
distfiles="http://www.valgrind.org/downloads/$pkgname-$version.tar.bz2"
|
||||||
build_style=gnu_configure
|
build_style=gnu_configure
|
||||||
configure_args="--enable-tls"
|
configure_args="--enable-tls"
|
||||||
short_desc="Tool for finding memory management bugs in programs"
|
short_desc="Tool for finding memory management bugs in programs"
|
||||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
checksum=bc0f0153b5a47b986f1d8efa2c488e0aea85a1cf2c4b11c52be127903080285f
|
checksum=49bdcc4fbcf060049b5f0dcfd8a187a6e90e0b0e57309f633b64e44430726a0e
|
||||||
long_desc="
|
long_desc="
|
||||||
Valgrind is a tool to help you find memory-management problems in your
|
Valgrind is a tool to help you find memory-management problems in your
|
||||||
programs. When a program is run under Valgrind's supervision, all
|
programs. When a program is run under Valgrind's supervision, all
|
||||||
|
|
Loading…
Reference in a new issue