From 90bd53fe61fb4b50b525b75006986259b20cb03c Mon Sep 17 00:00:00 2001 From: alihanozturk Date: Tue, 29 Mar 2016 17:37:57 +0300 Subject: [PATCH 1/2] valgrind:update 3.11 --- programming/profiler/valgrind/actions.py | 3 +- .../profiler/valgrind/files/fix_rlimit.patch | 140 ++++++++++++++++++ .../files/valgrind-3.9.0-glibc-2.19.patch | 37 ----- .../files/valgrind-3.9.0-glibc-2.21.patch | 54 ------- programming/profiler/valgrind/pspec.xml | 16 +- 5 files changed, 152 insertions(+), 98 deletions(-) create mode 100644 programming/profiler/valgrind/files/fix_rlimit.patch delete mode 100644 programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.19.patch delete mode 100644 programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.21.patch diff --git a/programming/profiler/valgrind/actions.py b/programming/profiler/valgrind/actions.py index e1cf710bed..63d66f0e8f 100644 --- a/programming/profiler/valgrind/actions.py +++ b/programming/profiler/valgrind/actions.py @@ -10,7 +10,8 @@ from pisi.actionsapi import shelltools from pisi.actionsapi import get def setup(): - autotools.autoreconf("-vfi") + shelltools.export("CFLAGS", get.CFLAGS().replace("-fstack-protector","")) + shelltools.export("CPPFLAGS", get.CXXFLAGS().replace("-fstack-protector","")) autotools.configure("--without-mpicc") def build(): diff --git a/programming/profiler/valgrind/files/fix_rlimit.patch b/programming/profiler/valgrind/files/fix_rlimit.patch new file mode 100644 index 0000000000..1583ef8423 --- /dev/null +++ b/programming/profiler/valgrind/files/fix_rlimit.patch @@ -0,0 +1,140 @@ +------------------------------------------------------------------------ +r15766 | mjw | 2016-01-21 03:37:43 -0800 (Thu, 21 Jan 2016) | 13 lines +Changed paths: + M /trunk/NEWS + M /trunk/coregrind/m_libcproc.c + M /trunk/coregrind/m_main.c + M /trunk/coregrind/m_syswrap/syswrap-generic.c + M /trunk/coregrind/m_syswrap/syswrap-solaris.c + +Bug #357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+ + +We used to set the process datasize rlimit to zero to prevent +any internal use of brk() from having any effect. But later +linux kernels redefine RLIMIT_DATA as the size of any data +areas, including some dynamic mmap memory allocations. + +See bug #357833 for the commit that went into linux 4.5 +changing the definition of RLIMIT_DATA. So don't mess with +RLIMIT_DATA anymore. Just remember it for use in the syscall +wrappers. + +This also cleans up some hacks around the execv and spawn wrappers. +------------------------------------------------------------------------ +Index: coregrind/m_syswrap/syswrap-generic.c +=================================================================== +--- coregrind/m_syswrap/syswrap-generic.c (revision 15765) ++++ coregrind/m_syswrap/syswrap-generic.c (revision 15766) +@@ -3014,9 +3014,6 @@ + vg_assert(j == tot_args+1); + } + +- /* restore the DATA rlimit for the child */ +- VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- + /* + Set the signal state up for exec. + +Index: coregrind/m_syswrap/syswrap-solaris.c +=================================================================== +--- coregrind/m_syswrap/syswrap-solaris.c (revision 15765) ++++ coregrind/m_syswrap/syswrap-solaris.c (revision 15766) +@@ -1589,10 +1589,6 @@ + #undef COPY_CHAR_TO_ARGENV + #undef COPY_STRING_TOARGENV + +- /* HACK: Temporarily restore the DATA rlimit for spawned child. +- This is a terrible hack to provide sensible brk limit for child. */ +- VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- + /* Actual spawn() syscall. */ + SysRes res = VG_(do_syscall5)(__NR_spawn, (UWord) path, (UWord) attrs, + attrs_size, (UWord) argenv, argenv_size); +@@ -1599,11 +1595,6 @@ + SET_STATUS_from_SysRes(res); + VG_(free)(argenv); + +- /* Restore DATA rlimit back to its previous value set in m_main.c. */ +- struct vki_rlimit zero = { 0, 0 }; +- zero.rlim_max = VG_(client_rlimit_data).rlim_max; +- VG_(setrlimit)(VKI_RLIMIT_DATA, &zero); +- + if (SUCCESS) { + PRINT(" spawn: process %d spawned child %ld\n", VG_(getpid)(), RES); + } +@@ -3794,9 +3785,6 @@ + VG_(sigprocmask)(VKI_SIG_SETMASK, &tst->sig_mask, NULL); + } + +- /* Restore the DATA rlimit for the child. */ +- VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- + /* Debug-only printing. */ + if (0) { + HChar **cpp; +Index: coregrind/m_main.c +=================================================================== +--- coregrind/m_main.c (revision 15765) ++++ coregrind/m_main.c (revision 15766) +@@ -1627,7 +1627,6 @@ + Bool logging_to_fd = False; + const HChar* xml_fname_unexpanded = NULL; + Int loglevel, i; +- struct vki_rlimit zero = { 0, 0 }; + XArray* addr2dihandle = NULL; + + //============================================================ +@@ -1800,13 +1799,15 @@ + VG_(debugLog)(1, "main", "... %s\n", VG_(name_of_launcher)); + + //-------------------------------------------------------------- +- // Get the current process datasize rlimit, and set it to zero. +- // This prevents any internal uses of brk() from having any effect. +- // We remember the old value so we can restore it on exec, so that +- // child processes will have a reasonable brk value. ++ // We used to set the process datasize rlimit to zero to prevent ++ // any internal use of brk() from having any effect. But later ++ // linux kernels redefine RLIMIT_DATA as the size of any data ++ // areas, including some dynamic mmap memory allocations. ++ // See bug #357833 for the commit that went into linux 4.5 ++ // changing the definition of RLIMIT_DATA. So don't mess with ++ // RLIMIT_DATA here now anymore. Just remember it for use in ++ // the syscall wrappers. + VG_(getrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- zero.rlim_max = VG_(client_rlimit_data).rlim_max; +- VG_(setrlimit)(VKI_RLIMIT_DATA, &zero); + + // Get the current process stack rlimit. + VG_(getrlimit)(VKI_RLIMIT_STACK, &VG_(client_rlimit_stack)); +Index: coregrind/m_libcproc.c +=================================================================== +--- coregrind/m_libcproc.c (revision 15765) ++++ coregrind/m_libcproc.c (revision 15766) +@@ -450,9 +450,6 @@ + HChar** envp; + SysRes res; + +- /* restore the DATA rlimit for the child */ +- VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- + envp = VG_(env_clone)(VG_(client_envp)); + VG_(env_remove_valgrind_env_stuff)( envp, True /*ro_strings*/, NULL ); + +@@ -511,17 +508,9 @@ + # undef COPY_CHAR_TO_ARGENV + # undef COPY_STRING_TOARGENV + +- /* HACK: Temporarily restore the DATA rlimit for spawned child. */ +- VG_(setrlimit)(VKI_RLIMIT_DATA, &VG_(client_rlimit_data)); +- + SysRes res = VG_(do_syscall5)(__NR_spawn, (UWord) filename, (UWord) NULL, 0, + (UWord) argenv, argenv_size); + +- /* Restore DATA rlimit back to its previous value set in m_main.c. */ +- struct vki_rlimit zero = { 0, 0 }; +- zero.rlim_max = VG_(client_rlimit_data).rlim_max; +- VG_(setrlimit)(VKI_RLIMIT_DATA, &zero); +- + VG_(free)(argenv); + for (HChar **p = envp; *p != NULL; p++) { + VG_(free)(*p); \ No newline at end of file diff --git a/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.19.patch b/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.19.patch deleted file mode 100644 index 79a3283c9c..0000000000 --- a/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.19.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure ---- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000 -+++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000 -@@ -6689,6 +6689,16 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.19) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 -+$as_echo "2.19 family" >&6; } -+ -+$as_echo "#define GLIBC_2_19 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; } -diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac ---- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000 -+++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000 -@@ -918,6 +918,13 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.19) -+ AC_MSG_RESULT(2.19 family) -+ AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.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]) diff --git a/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.21.patch b/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.21.patch deleted file mode 100644 index 37a93d14c5..0000000000 --- a/programming/profiler/valgrind/files/valgrind-3.9.0-glibc-2.21.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure ---- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000 -+++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000 -@@ -6689,6 +6689,26 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.20) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.20 family" >&5 -+$as_echo "2.20 family" >&6; } -+ -+$as_echo "#define GLIBC_2_20 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}" -+ ;; -+ 2.21) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.21 family" >&5 -+$as_echo "2.21 family" >&6; } -+ -+$as_echo "#define GLIBC_2_21 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; } -diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac ---- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000 -+++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000 -@@ -918,6 +918,20 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.20) -+ AC_MSG_RESULT(2.20 family) -+ AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.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}" -+ ;; -+ 2.21) -+ AC_MSG_RESULT(2.21 family) -+ AC_DEFINE([GLIBC_2_21], 1, [Define to 1 if you're using glibc 2.21.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]) diff --git a/programming/profiler/valgrind/pspec.xml b/programming/profiler/valgrind/pspec.xml index 897b26bbe9..a5e5f0f37b 100644 --- a/programming/profiler/valgrind/pspec.xml +++ b/programming/profiler/valgrind/pspec.xml @@ -1,4 +1,3 @@ - @@ -13,18 +12,23 @@ app:console Memory access debugger for X86 and PPC Linux platforms Valgrind is an award-winning suite of tools for debugging and profiling Linux programs. With the tools that come with Valgrind, you can automatically detect many memory management and threading bugs, avoiding hours of frustrating bug-hunting, making your programs more stable. You can also perform detailed profiling, to speed up and reduce memory use of your programs. - http://www.valgrind.org/downloads/valgrind-3.10.1.tar.bz2 + http://www.valgrind.org/downloads/valgrind-3.11.0.tar.bz2 glibc-devel + boost-devel + gdb-devel - - valgrind-3.9.0-glibc-2.21.patch + fix_rlimit.patch valgrind + + glibc + perl + /usr/bin /usr/include/valgrind @@ -36,8 +40,8 @@ - 2015-07-21 - 3.10.1 + 2016-03-29 + 3.11.0 First release Ayhan Yalçınsoy ayhanyalcinsoy@pisilinux.org From 7132a47004097ab4024b76fb71c7e158a6aa9818 Mon Sep 17 00:00:00 2001 From: alihanozturk Date: Tue, 29 Mar 2016 17:41:17 +0300 Subject: [PATCH 2/2] gstreamer-next:update --- multimedia/video/gstreamer-next/pspec.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/multimedia/video/gstreamer-next/pspec.xml b/multimedia/video/gstreamer-next/pspec.xml index c05dc1da84..63daa11c88 100644 --- a/multimedia/video/gstreamer-next/pspec.xml +++ b/multimedia/video/gstreamer-next/pspec.xml @@ -14,7 +14,7 @@ app:console GStreamer streaming media framework runtime GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. - http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.5.tar.xz + https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.6.3.tar.xz check valgrind @@ -77,8 +77,8 @@ - 2015-04-18 - 1.4.5 + 2016-03-29 + 1.6.3 First release Yusuf Aydemir yusuf.aydemir@pisilinux.org