This commit is contained in:
parent
62186c01e4
commit
9eb0aa979e
182
r8730.diff
Normal file
182
r8730.diff
Normal file
@ -0,0 +1,182 @@
|
||||
------------------------------------------------------------------------
|
||||
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) =
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 5 13:58:49 CET 2008 - dmueller@suse.de
|
||||
|
||||
- add syscall wrappers for pipe2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 20:42:50 CEST 2008 - schwab@suse.de
|
||||
|
||||
|
@ -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 @@ Patch9: deprecated.diff
|
||||
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 @@ cd ..
|
||||
%patch10
|
||||
%patch12
|
||||
%patch13
|
||||
%patch14
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
@ -151,6 +155,8 @@ mv $RPM_BUILD_ROOT/usr/share/doc/valgrind $RPM_BUILD_ROOT/usr/share/doc/packages
|
||||
%_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 @@ mv $RPM_BUILD_ROOT/usr/share/doc/valgrind $RPM_BUILD_ROOT/usr/share/doc/packages
|
||||
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 @@ mv $RPM_BUILD_ROOT/usr/share/doc/valgrind $RPM_BUILD_ROOT/usr/share/doc/packages
|
||||
- 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
|
||||
|
Loading…
Reference in New Issue
Block a user