Hello community, here is the log from the commit of package valgrind checked in at Fri Nov 7 15:52:08 CET 2008. -------- --- valgrind/valgrind.changes 2008-06-24 20:43:06.000000000 +0200 +++ /mounts/work_src_done/STABLE/valgrind/valgrind.changes 2008-11-05 13:59:01.000000000 +0100 @@ -1,0 +2,5 @@ +Wed Nov 5 13:58:49 CET 2008 - dmueller@suse.de + +- add syscall wrappers for pipe2 + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- r8730.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ valgrind.spec ++++++ --- /var/tmp/diff_new_pack.y21169/_old 2008-11-07 15:51:58.000000000 +0100 +++ /var/tmp/diff_new_pack.y21169/_new 2008-11-07 15:51:58.000000000 +0100 @@ -2,9 +2,16 @@ # spec file for package valgrind (Version 3.3.1) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -13,20 +20,15 @@ Name: valgrind BuildRequires: gcc-c++ glibc-devel-32bit xorg-x11-devel %ifarch x86_64 ppc64 -%if %suse_version > 1010 BuildRequires: gcc-32bit %endif -%if %suse_version < 1010 -BuildRequires: gcc-32bit glibc-32bit -%endif -%endif Url: http://valgrind.org/ License: GPL v2 only Group: Development/Tools/Debuggers Summary: Valgrind Suite of Tools for Debugging and Profiling BuildRoot: %{_tmppath}/%{name}-%{version}-build Version: 3.3.1 -Release: 2 +Release: 31 Source0: %{name}-%{version}.tar.bz2 # svn di svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_2_1 svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH > 3_2_BRANCH.diff # svn di svn://svn.valgrind.org/vex/tags/VEX_3_2_1 svn://svn.valgrind.org/vex/branches/VEX_3_2_BRANCH > VEX_3_2_BRANCH.diff @@ -35,6 +37,7 @@ Patch10: update-suppressions.diff Patch12: xcb-update.diff Patch13: fadvice64.diff +Patch14: r8730.diff Provides: callgrind = %version Obsoletes: callgrind < %version ExclusiveArch: %ix86 x86_64 ppc ppc64 @@ -122,6 +125,7 @@ %patch10 %patch12 %patch13 +%patch14 %build export CFLAGS="$RPM_OPT_FLAGS" @@ -151,6 +155,8 @@ %_libdir/valgrind/*/*.a %changelog +* Wed Nov 05 2008 dmueller@suse.de +- add syscall wrappers for pipe2 * Tue Jun 24 2008 schwab@suse.de - Add fadvice64 wrapper. * Sun Jun 22 2008 dmueller@suse.de @@ -194,7 +200,7 @@ 162386 ms_print typo in milliseconds time unit for massif 161036 exp-drd: client allocated memory was never freed 162663 signalfd_wrapper fails on 64bit linux -* Mon Apr 28 2008 dmueller@suse.de +* Sun Apr 27 2008 dmueller@suse.de - update glibc 2.8 support * Sun Dec 16 2007 dmueller@suse.de - readd deprecated #define's (#348337) @@ -221,7 +227,7 @@ - update suppressions * Fri Aug 24 2007 dmueller@suse.de - fix valgrind on x86_64 (#296803) -* Wed Aug 22 2007 dmueller@suse.de +* Tue Aug 21 2007 dmueller@suse.de - suppression update * Tue Jul 24 2007 dmueller@suse.de - update suppression file ++++++ r8730.diff ++++++ ------------------------------------------------------------------------ r8730 | sewardj | 2008-11-05 12:20:59 +0100 (Mi, 05 Nov 2008) | 3 lines Support sys_pipe2 on {amd64,x86}-linux. Also, update syscall numbers for all supported Linuxes to those in linux-2.6.28-rc3. ------------------------------------------------------------------------ Index: include/vki/vki-scnums-amd64-linux.h =================================================================== --- include/vki/vki-scnums-amd64-linux.h (revision 8729) +++ include/vki/vki-scnums-amd64-linux.h (revision 8730) @@ -369,6 +369,13 @@ #define __NR_fallocate 285 #define __NR_timerfd_settime 286 #define __NR_timerfd_gettime 287 +#define __NR_paccept 288 +#define __NR_signalfd4 289 +#define __NR_eventfd2 290 +#define __NR_epoll_create1 291 +#define __NR_dup3 292 +#define __NR_pipe2 293 +#define __NR_inotify_init1 294 #endif /* __VKI_SCNUMS_AMD64_LINUX_H */ Index: include/vki/vki-scnums-x86-linux.h =================================================================== --- include/vki/vki-scnums-x86-linux.h (revision 8729) +++ include/vki/vki-scnums-x86-linux.h (revision 8730) @@ -361,6 +361,12 @@ #define __NR_fallocate 324 #define __NR_timerfd_settime 325 #define __NR_timerfd_gettime 326 +#define __NR_signalfd4 327 +#define __NR_eventfd2 328 +#define __NR_epoll_create1 329 +#define __NR_dup3 330 +#define __NR_pipe2 331 +#define __NR_inotify_init1 332 #endif /* __VKI_SCNUMS_X86_LINUX_H */ Index: include/vki/vki-scnums-ppc32-linux.h =================================================================== --- include/vki/vki-scnums-ppc32-linux.h (revision 8729) +++ include/vki/vki-scnums-ppc32-linux.h (revision 8730) @@ -355,6 +355,12 @@ #define __NR_subpage_prot 310 #define __NR_timerfd_settime 311 #define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 #endif /* __VKI_SCNUMS_PPC32_LINUX_H */ Index: include/vki/vki-scnums-ppc64-linux.h =================================================================== --- include/vki/vki-scnums-ppc64-linux.h (revision 8729) +++ include/vki/vki-scnums-ppc64-linux.h (revision 8730) @@ -347,6 +347,12 @@ #define __NR_subpage_prot 310 #define __NR_timerfd_settime 311 #define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 #endif /* __VKI_SCNUMS_PPC64_LINUX_H */ Index: coregrind/m_syswrap/syswrap-linux.c =================================================================== --- coregrind/m_syswrap/syswrap-linux.c (revision 8729) +++ coregrind/m_syswrap/syswrap-linux.c (revision 8730) @@ -2235,12 +2235,38 @@ PRE(sys_pipe) POST(sys_pipe) { Int *p = (Int *)ARG1; - if (!ML_(fd_allowed)(p[0], "pipe", tid, True) || !ML_(fd_allowed)(p[1], "pipe", tid, True)) { VG_(close)(p[0]); VG_(close)(p[1]); SET_STATUS_Failure( VKI_EMFILE ); + } else { + POST_MEM_WRITE( ARG1, 2*sizeof(int) ); + if (VG_(clo_track_fds)) { + ML_(record_fd_open_nameless)(tid, p[0]); + ML_(record_fd_open_nameless)(tid, p[1]); + } + } +} + +/* pipe2 (a kernel 2.6.twentysomething invention) is like pipe, except + there's a second arg containing flags to be applied to the new file + descriptors. It hardly seems worth the effort to factor out the + duplicated code, hence: */ +PRE(sys_pipe2) +{ + PRINT("sys_pipe2 ( %#lx, %#lx )", ARG1, ARG2); + PRE_REG_READ2(int, "pipe", int *, filedes, long, flags); + PRE_MEM_WRITE( "pipe2(filedes)", ARG1, 2*sizeof(int) ); +} +POST(sys_pipe2) +{ + Int *p = (Int *)ARG1; + if (!ML_(fd_allowed)(p[0], "pipe2", tid, True) || + !ML_(fd_allowed)(p[1], "pipe2", tid, True)) { + VG_(close)(p[0]); + VG_(close)(p[1]); + SET_STATUS_Failure( VKI_EMFILE ); } else { POST_MEM_WRITE( ARG1, 2*sizeof(int) ); if (VG_(clo_track_fds)) { Index: coregrind/m_syswrap/priv_syswrap-linux.h =================================================================== --- coregrind/m_syswrap/priv_syswrap-linux.h (revision 8729) +++ coregrind/m_syswrap/priv_syswrap-linux.h (revision 8730) @@ -206,6 +206,7 @@ DECL_TEMPLATE(linux, sys_sched_getaffini // Also, some archs on Linux do not match the generic wrapper for sys_pipe. DECL_TEMPLATE(linux, sys_munlockall); DECL_TEMPLATE(linux, sys_pipe); +DECL_TEMPLATE(linux, sys_pipe2); DECL_TEMPLATE(linux, sys_quotactl); DECL_TEMPLATE(linux, sys_waitid); Index: coregrind/m_syswrap/syswrap-amd64-linux.c =================================================================== --- coregrind/m_syswrap/syswrap-amd64-linux.c (revision 8729) +++ coregrind/m_syswrap/syswrap-amd64-linux.c (revision 8730) @@ -1350,14 +1350,24 @@ const SyscallTableEntry ML_(syscall_tabl LINX_(__NR_sync_file_range, sys_sync_file_range), // 277 // LINX_(__NR_vmsplice, sys_ni_syscall), // 278 // LINX_(__NR_move_pages, sys_ni_syscall), // 279 + LINX_(__NR_utimensat, sys_utimensat), // 280 LINXY(__NR_epoll_pwait, sys_epoll_pwait), // 281 LINXY(__NR_signalfd, sys_signalfd), // 282 LINXY(__NR_timerfd_create, sys_timerfd_create), // 283 LINX_(__NR_eventfd, sys_eventfd), // 284 + // LINX_(__NR_fallocate, sys_ni_syscall), // 285 LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 286 LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 287 + // (__NR_paccept, sys_ni_syscall) // 288 + // (__NR_signalfd4, sys_ni_syscall) // 289 + + // (__NR_eventfd2, sys_ni_syscall) // 290 + // (__NR_epoll_create1, sys_ni_syscall) // 291 + // (__NR_dup3, sys_ni_syscall) // 292 + LINXY(__NR_pipe2, sys_pipe2) // 293 + // (__NR_inotify_init1, sys_ni_syscall) // 294 }; const UInt ML_(syscall_table_size) = Index: coregrind/m_syswrap/syswrap-x86-linux.c =================================================================== --- coregrind/m_syswrap/syswrap-x86-linux.c (revision 8729) +++ coregrind/m_syswrap/syswrap-x86-linux.c (revision 8730) @@ -2231,8 +2231,16 @@ const SyscallTableEntry ML_(syscall_tabl LINXY(__NR_timerfd_create, sys_timerfd_create), // 322 LINX_(__NR_eventfd, sys_eventfd), // 323 // LINX_(__NR_fallocate, sys_ni_syscall), // 324 + LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 325 LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 326 + // (__NR_signalfd4, sys_ni_syscall) // 327 + // (__NR_eventfd2, sys_ni_syscall) // 328 + // (__NR_epoll_create1, sys_ni_syscall) // 329 + + // (__NR_dup3, sys_ni_syscall) // 330 + LINXY(__NR_pipe2, sys_pipe2) // 331 + // (__NR_inotify_init1, sys_ni_syscall) // 332 }; const UInt ML_(syscall_table_size) = ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org