PERFORCE change 151428 for review
Peter Wemm
peter at FreeBSD.org
Wed Oct 15 19:43:38 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=151428
Change 151428 by peter at peter_daintree on 2008/10/15 19:43:23
Merge valgrind-3.2.3 at 8674
amd64 instruction decode fix. (allows 7 prefixes as generated by
gcc for mega-nops as code alignment fillers)
Affected files ...
.. //depot/projects/valgrind/Makefile.am#3 integrate
.. //depot/projects/valgrind/VEX/priv/guest-amd64/toIR.c#2 integrate
.. //depot/projects/valgrind/configure.in#4 integrate
.. //depot/projects/valgrind/glibc-2.6.supp#1 branch
.. //depot/projects/valgrind/glibc-2.7.supp#1 branch
.. //depot/projects/valgrind/massif/ms_main.c#2 integrate
.. //depot/projects/valgrind/xfree-4.supp#2 integrate
Differences ...
==== //depot/projects/valgrind/Makefile.am#3 (text+ko) ====
@@ -18,6 +18,7 @@
SUPP_FILES = \
glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp glibc-2.5.supp \
+ glibc-2.6.supp glibc-2.7.supp \
xfree-3.supp xfree-4.supp
dist_val_DATA = $(SUPP_FILES) default.supp
==== //depot/projects/valgrind/VEX/priv/guest-amd64/toIR.c#2 (text+ko) ====
@@ -8355,7 +8355,7 @@
as many invalid combinations as possible. */
n_prefixes = 0;
while (True) {
- if (n_prefixes > 5) goto decode_failure;
+ if (n_prefixes > 7) goto decode_failure;
pre = getUChar(delta);
switch (pre) {
case 0x66: pfx |= PFX_66; break;
==== //depot/projects/valgrind/configure.in#4 (text+ko) ====
@@ -385,6 +385,26 @@
],
glibc="2.5")
+AC_EGREP_CPP([GLIBC_26], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 6)
+ GLIBC_26
+ #endif
+#endif
+],
+glibc="2.6")
+
+AC_EGREP_CPP([GLIBC_27], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 7)
+ GLIBC_27
+ #endif
+#endif
+],
+glibc="2.7")
+
AC_MSG_CHECKING([the glibc version])
case "${glibc}" in
@@ -412,9 +432,20 @@
DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}"
;;
+ 2.6)
+ AC_MSG_RESULT(2.5 family)
+ AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x])
+ DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}"
+ ;;
+ 2.7)
+ AC_MSG_RESULT(2.7 family)
+ AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x])
+ DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ ;;
*)
AC_MSG_RESULT(unsupported version)
- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.5])
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.7])
;;
esac
;;
==== //depot/projects/valgrind/massif/ms_main.c#2 (text+ko) ====
@@ -1665,15 +1665,18 @@
if (VG_(clo_verbosity) > 1) {
tl_assert(n_xpts > 0); // always have alloc_xpt
VG_(message)(Vg_DebugMsg, " allocs: %u", n_allocs);
- VG_(message)(Vg_DebugMsg, "zeroallocs: %u (%d%%)", n_zero_allocs,
- n_zero_allocs * 100 / n_allocs );
+ if ( n_allocs )
+ VG_(message)(Vg_DebugMsg, "zeroallocs: %u (%d%%)", n_zero_allocs,
+ n_zero_allocs * 100 / n_allocs );
VG_(message)(Vg_DebugMsg, " frees: %u", n_frees);
VG_(message)(Vg_DebugMsg, " XPts: %u (%d B)", n_xpts,
n_xpts*sizeof(XPt));
- VG_(message)(Vg_DebugMsg, " bot-XPts: %u (%d%%)", n_bot_xpts,
- n_bot_xpts * 100 / n_xpts);
- VG_(message)(Vg_DebugMsg, " top-XPts: %u (%d%%)", alloc_xpt->n_children,
- alloc_xpt->n_children * 100 / n_xpts);
+ if ( n_xpts )
+ VG_(message)(Vg_DebugMsg, " bot-XPts: %u (%d%%)", n_bot_xpts,
+ n_bot_xpts * 100 / n_xpts);
+ if ( n_xpts )
+ VG_(message)(Vg_DebugMsg, " top-XPts: %u (%d%%)", alloc_xpt->n_children,
+ alloc_xpt->n_children * 100 / n_xpts);
VG_(message)(Vg_DebugMsg, "c-reallocs: %u", n_children_reallocs);
VG_(message)(Vg_DebugMsg, "snap-frees: %u", n_snapshot_frees);
VG_(message)(Vg_DebugMsg, "atmp censi: %u", n_attempted_censi);
==== //depot/projects/valgrind/xfree-4.supp#2 (text+ko) ====
@@ -134,10 +134,33 @@
}
{
+ struct with uninitialized paddings - libxcb
+ Memcheck:Param
+ writev(vector[...])
+ obj:/lib*/libc-2.6*.so
+ obj:/usr/lib*/libxcb.so.1.0.0
+ obj:/usr/lib*/libxcb.so.1.0.0
+ fun:xcb_send_request
+ fun:_X*
+}
+
+{
+ struct with uninitialized paddings - libxcb
+ Memcheck:Param
+ writev(vector[...])
+ obj:/lib*/libc-2.6*.so
+ obj:/usr/lib*/libxcb.so.1.0.0
+ obj:/usr/lib*/libxcb.so.1.0.0
+ obj:/usr/lib*/libxcb.so.1.0.0
+ fun:xcb_*
+ fun:_X*
+}
+
+{
another struct with uninitialized paddings
Memcheck:Param
write(buf)
- fun:*
+ obj:*
fun:_IceTransSocketWrite
fun:_IceTransWrite
fun:_IceWrite
@@ -165,23 +188,13 @@
Xorg 6.8.1 ICE uninit __write* padding
Memcheck:Param
write(buf)
- fun:__write*
+ obj:*
fun:_IceTransWrite
fun:_IceWrite
fun:IceFlush
}
{
- Xorg 6.8.1 ICE uninit write padding
- Memcheck:Param
- write(buf)
- fun:write
- fun:_IceTransWrite
- fun:_IceWrite
- fun:IceFlush
-}
-
-{
Xorg 6.8.1 writev uninit padding
Memcheck:Param
writev(vector[...])
@@ -202,6 +215,8 @@
fun:_XSend
}
+
+
# There's something strange about a % 127 in XftFontOpenInfo
# (hashing) which gcc turns into a multiply by 33818641 and
# some other guff instead. I don't understand it enough to
More information about the p4-projects
mailing list