|
From: <sv...@va...> - 2005-06-08 10:47:08
|
Author: sewardj
Date: 2005-06-08 11:46:56 +0100 (Wed, 08 Jun 2005)
New Revision: 3853
Modified:
trunk/coregrind/m_syscalls/syscalls-generic.c
trunk/coregrind/m_syscalls/syscalls-x86-linux.c
Log:
Clean up after m_syscalls changes: reinstate a bunch more (x86)
Modified: trunk/coregrind/m_syscalls/syscalls-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-generic.c 2005-06-08 01:47:28 UTC=
(rev 3852)
+++ trunk/coregrind/m_syscalls/syscalls-generic.c 2005-06-08 10:46:56 UTC=
(rev 3853)
@@ -2015,11 +2015,11 @@
);
}
=20
-//zz PRE(sys_nice, 0)
-//zz {
-//zz PRINT("sys_nice ( %d )", ARG1);
-//zz PRE_REG_READ1(long, "nice", int, inc);
-//zz }
+PRE(sys_nice)
+{
+ PRINT("sys_nice ( %d )", ARG1);
+ PRE_REG_READ1(long, "nice", int, inc);
+}
=20
PRE(sys_sched_getscheduler)
{
@@ -2101,13 +2101,14 @@
//zz vki_u32, offset_low32, vki_u32, offset_high32);
//zz PRE_MEM_READ( "pwrite64(buf)", ARG2, ARG3 );
//zz }
-//zz=20
-//zz PRE(sys_sync, SfMayBlock)
-//zz {
-//zz PRINT("sys_sync ( )");
-//zz PRE_REG_READ0(long, "sync");
-//zz }
-//zz=20
+
+PRE(sys_sync)
+{
+ *flags |=3D SfMayBlock;
+ PRINT("sys_sync ( )");
+ PRE_REG_READ0(long, "sync");
+}
+
//zz PRE(sys_fstatfs, 0)
//zz {
//zz PRINT("sys_fstatfs ( %d, %p )",ARG1,ARG2);
@@ -2853,11 +2854,11 @@
PRE_REG_READ0(long, "getegid");
}
=20
-//zz PRE(sys_getgid16, 0)
-//zz {
-//zz PRINT("sys_getgid16 ( )");
-//zz PRE_REG_READ0(long, "getgid16");
-//zz }
+PRE(sys_getgid16)
+{
+ PRINT("sys_getgid16 ( )");
+ PRE_REG_READ0(long, "getgid16");
+}
=20
PRE(sys_getgid)
{
@@ -4793,12 +4794,12 @@
PRE_MEM_READ( "select(timeout)", ARG5, sizeof(struct vki_timeval) =
);
}
=20
-//zz PRE(sys_setgid16, 0)
-//zz {
-//zz PRINT("sys_setgid16 ( %d )", ARG1);
-//zz PRE_REG_READ1(long, "setgid16", vki_old_gid_t, gid);
-//zz }
-//zz=20
+PRE(sys_setgid16)
+{
+ PRINT("sys_setgid16 ( %d )", ARG1);
+ PRE_REG_READ1(long, "setgid16", vki_old_gid_t, gid);
+}
+
//zz PRE(sys_setgid, 0)
//zz {
//zz PRINT("sys_setgid ( %d )", ARG1);
@@ -5011,14 +5012,15 @@
}
}
=20
-//zz PRE(sys_utime, SfMayBlock)
-//zz {
-//zz PRINT("sys_utime ( %p, %p )", ARG1,ARG2);
-//zz PRE_REG_READ2(long, "utime", char *, filename, struct utimbuf *,=
buf);
-//zz PRE_MEM_RASCIIZ( "utime(filename)", ARG1 );
-//zz if (ARG2 !=3D 0)
-//zz PRE_MEM_READ( "utime(buf)", ARG2, sizeof(struct vki_utimbuf) =
);
-//zz }
+PRE(sys_utime)
+{
+ *flags |=3D SfMayBlock;
+ PRINT("sys_utime ( %p, %p )", ARG1,ARG2);
+ PRE_REG_READ2(long, "utime", char *, filename, struct utimbuf *, buf)=
;
+ PRE_MEM_RASCIIZ( "utime(filename)", ARG1 );
+ if (ARG2 !=3D 0)
+ PRE_MEM_READ( "utime(buf)", ARG2, sizeof(struct vki_utimbuf) );
+}
=20
PRE(sys_waitpid)
{
@@ -5405,89 +5407,91 @@
PRE_MEM_RASCIIZ( "mq_unlink(name)", ARG1 );
}
=20
-//zz PRE(sys_mq_timedsend, SfMayBlock)
-//zz {
-//zz PRINT("sys_mq_timedsend ( %d, %p, %llu, %d, %p )",
-//zz ARG1,ARG2,(ULong)ARG3,ARG4,ARG5);
-//zz PRE_REG_READ5(long, "mq_timedsend",
-//zz vki_mqd_t, mqdes, const char *, msg_ptr, vki_size_=
t, msg_len,
-//zz unsigned int, msg_prio, const struct timespec *, a=
bs_timeout);
-//zz if (!VG_(fd_allowed)(ARG1, "mq_timedsend", tid, False)) {
-//zz SET_STATUS_( -VKI_EBADF );
-//zz } else {
-//zz PRE_MEM_READ( "mq_timedsend(msg_ptr)", ARG2, ARG3 );
-//zz if (ARG5 !=3D 0)
-//zz PRE_MEM_READ( "mq_timedsend(abs_timeout)", ARG5,
-//zz sizeof(struct vki_timespec) );
-//zz }
-//zz }
-//zz=20
-//zz PRE(sys_mq_timedreceive, SfMayBlock)
-//zz {
-//zz PRINT("sys_mq_timedreceive( %d, %p, %llu, %p, %p )",
-//zz ARG1,ARG2,(ULong)ARG3,ARG4,ARG5);
-//zz PRE_REG_READ5(ssize_t, "mq_timedreceive",
-//zz vki_mqd_t, mqdes, char *, msg_ptr, vki_size_t, msg=
_len,
-//zz unsigned int *, msg_prio,
-//zz const struct timespec *, abs_timeout);
-//zz if (!VG_(fd_allowed)(ARG1, "mq_timedreceive", tid, False)) {
-//zz SET_STATUS_( -VKI_EBADF );
-//zz } else {
-//zz PRE_MEM_WRITE( "mq_timedreceive(msg_ptr)", ARG2, ARG3 );
-//zz if (ARG4 !=3D 0)
-//zz PRE_MEM_WRITE( "mq_timedreceive(msg_prio)",
-//zz ARG4, sizeof(unsigned int) );
-//zz if (ARG5 !=3D 0)
-//zz PRE_MEM_READ( "mq_timedreceive(abs_timeout)",
-//zz ARG5, sizeof(struct vki_timespec) );
-//zz }
-//zz }
-//zz=20
-//zz POST(sys_mq_timedreceive)
-//zz {
-//zz POST_MEM_WRITE( ARG2, ARG3 );
-//zz if (ARG4 !=3D 0)
-//zz POST_MEM_WRITE( ARG4, sizeof(unsigned int) );
-//zz }
-//zz=20
-//zz PRE(sys_mq_notify, 0)
-//zz {
-//zz PRINT("sys_mq_notify( %d, %p )", ARG1,ARG2 );
-//zz PRE_REG_READ2(long, "mq_notify",
-//zz vki_mqd_t, mqdes, const struct sigevent *, notific=
ation);
-//zz if (!VG_(fd_allowed)(ARG1, "mq_notify", tid, False))
-//zz SET_STATUS_( -VKI_EBADF );
-//zz else if (ARG2 !=3D 0)
-//zz PRE_MEM_READ( "mq_notify(notification)",
-//zz ARG2, sizeof(struct vki_sigevent) );
-//zz }
-//zz=20
-//zz PRE(sys_mq_getsetattr, 0)
-//zz {
-//zz PRINT("sys_mq_getsetattr( %d, %p, %p )", ARG1,ARG2,ARG3 );
-//zz PRE_REG_READ3(long, "mq_getsetattr",
-//zz vki_mqd_t, mqdes, const struct mq_attr *, mqstat,
-//zz struct mq_attr *, omqstat);
-//zz if (!VG_(fd_allowed)(ARG1, "mq_getsetattr", tid, False)) {
-//zz SET_STATUS_( -VKI_EBADF );
-//zz } else {
-//zz if (ARG2 !=3D 0) {
-//zz const struct vki_mq_attr *attr =3D (struct vki_mq_attr *)A=
RG2;
-//zz PRE_MEM_READ( "mq_getsetattr(mqstat->mq_flags)",
-//zz (Addr)&attr->mq_flags, sizeof(attr->mq_flag=
s) );
-//zz }
-//zz if (ARG3 !=3D 0)
-//zz PRE_MEM_WRITE( "mq_getsetattr(omqstat)", ARG3,
-//zz sizeof(struct vki_mq_attr) );
-//zz } =20
-//zz }
-//zz=20
-//zz POST(sys_mq_getsetattr)
-//zz {
-//zz if (ARG3 !=3D 0)
-//zz POST_MEM_WRITE( ARG3, sizeof(struct vki_mq_attr) );
-//zz }
-//zz=20
+PRE(sys_mq_timedsend)
+{
+ *flags |=3D SfMayBlock;
+ PRINT("sys_mq_timedsend ( %d, %p, %llu, %d, %p )",
+ ARG1,ARG2,(ULong)ARG3,ARG4,ARG5);
+ PRE_REG_READ5(long, "mq_timedsend",
+ vki_mqd_t, mqdes, const char *, msg_ptr, vki_size_t, ms=
g_len,
+ unsigned int, msg_prio, const struct timespec *, abs_ti=
meout);
+ if (!VG_(fd_allowed)(ARG1, "mq_timedsend", tid, False)) {
+ SET_STATUS_Failure( VKI_EBADF );
+ } else {
+ PRE_MEM_READ( "mq_timedsend(msg_ptr)", ARG2, ARG3 );
+ if (ARG5 !=3D 0)
+ PRE_MEM_READ( "mq_timedsend(abs_timeout)", ARG5,
+ sizeof(struct vki_timespec) );
+ }
+}
+
+PRE(sys_mq_timedreceive)
+{
+ *flags |=3D SfMayBlock;
+ PRINT("sys_mq_timedreceive( %d, %p, %llu, %p, %p )",
+ ARG1,ARG2,(ULong)ARG3,ARG4,ARG5);
+ PRE_REG_READ5(ssize_t, "mq_timedreceive",
+ vki_mqd_t, mqdes, char *, msg_ptr, vki_size_t, msg_len,
+ unsigned int *, msg_prio,
+ const struct timespec *, abs_timeout);
+ if (!VG_(fd_allowed)(ARG1, "mq_timedreceive", tid, False)) {
+ SET_STATUS_Failure( VKI_EBADF );
+ } else {
+ PRE_MEM_WRITE( "mq_timedreceive(msg_ptr)", ARG2, ARG3 );
+ if (ARG4 !=3D 0)
+ PRE_MEM_WRITE( "mq_timedreceive(msg_prio)",
+ ARG4, sizeof(unsigned int) );
+ if (ARG5 !=3D 0)
+ PRE_MEM_READ( "mq_timedreceive(abs_timeout)",
+ ARG5, sizeof(struct vki_timespec) );
+ }
+}
+
+POST(sys_mq_timedreceive)
+{
+ POST_MEM_WRITE( ARG2, ARG3 );
+ if (ARG4 !=3D 0)
+ POST_MEM_WRITE( ARG4, sizeof(unsigned int) );
+}
+
+PRE(sys_mq_notify)
+{
+ PRINT("sys_mq_notify( %d, %p )", ARG1,ARG2 );
+ PRE_REG_READ2(long, "mq_notify",
+ vki_mqd_t, mqdes, const struct sigevent *, notification=
);
+ if (!VG_(fd_allowed)(ARG1, "mq_notify", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+ else if (ARG2 !=3D 0)
+ PRE_MEM_READ( "mq_notify(notification)",
+ ARG2, sizeof(struct vki_sigevent) );
+}
+
+PRE(sys_mq_getsetattr)
+{
+ PRINT("sys_mq_getsetattr( %d, %p, %p )", ARG1,ARG2,ARG3 );
+ PRE_REG_READ3(long, "mq_getsetattr",
+ vki_mqd_t, mqdes, const struct mq_attr *, mqstat,
+ struct mq_attr *, omqstat);
+ if (!VG_(fd_allowed)(ARG1, "mq_getsetattr", tid, False)) {
+ SET_STATUS_Failure( VKI_EBADF );
+ } else {
+ if (ARG2 !=3D 0) {
+ const struct vki_mq_attr *attr =3D (struct vki_mq_attr *)ARG2;
+ PRE_MEM_READ( "mq_getsetattr(mqstat->mq_flags)",
+ (Addr)&attr->mq_flags, sizeof(attr->mq_flags) );
+ }
+ if (ARG3 !=3D 0)
+ PRE_MEM_WRITE( "mq_getsetattr(omqstat)", ARG3,
+ sizeof(struct vki_mq_attr) );
+ } =20
+}
+
+POST(sys_mq_getsetattr)
+{
+ if (ARG3 !=3D 0)
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_mq_attr) );
+}
+
//zz PRE(sys_timer_create, 0)
//zz {
//zz PRINT("sys_timer_create( %d, %p, %p )", ARG1,ARG2,ARG3);
Modified: trunk/coregrind/m_syscalls/syscalls-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-06-08 01:47:28 U=
TC (rev 3852)
+++ trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-06-08 10:46:56 U=
TC (rev 3853)
@@ -1950,15 +1950,15 @@
GENX_(__NR_alarm, sys_alarm), // 27
//zz // (__NR_oldfstat, sys_fstat), // 28 * L -- =
obsolete
GENX_(__NR_pause, sys_pause), // 29
-//zz=20
-//zz GENX_(__NR_utime, sys_utime), // 30
+
+ GENX_(__NR_utime, sys_utime), // 30
GENX_(__NR_stty, sys_ni_syscall), // 31
GENX_(__NR_gtty, sys_ni_syscall), // 32
GENX_(__NR_access, sys_access), // 33
-//zz GENX_(__NR_nice, sys_nice), // 34
-//zz=20
+ GENX_(__NR_nice, sys_nice), // 34
+
GENX_(__NR_ftime, sys_ni_syscall), // 35
-//zz GENX_(__NR_sync, sys_sync), // 36
+ GENX_(__NR_sync, sys_sync), // 36
GENX_(__NR_kill, sys_kill), // 37
GENX_(__NR_rename, sys_rename), // 38
GENX_(__NR_mkdir, sys_mkdir), // 39
@@ -1970,8 +1970,8 @@
GENX_(__NR_prof, sys_ni_syscall), // 44
//zz=20
GENX_(__NR_brk, sys_brk), // 45
-//zz GENX_(__NR_setgid, sys_setgid16), // 46
-//zz GENX_(__NR_getgid, sys_getgid16), // 47
+ GENX_(__NR_setgid, sys_setgid16), // 46
+ GENX_(__NR_getgid, sys_getgid16), // 47
//zz // (__NR_signal, sys_signal), // 48 */* (AN=
SI C)
GENX_(__NR_geteuid, sys_geteuid16), // 49
//zz=20
@@ -2252,11 +2252,11 @@
//zz // (__NR_set_mempolicy, sys_set_mempolicy), // 276 ?/?
GENXY(__NR_mq_open, sys_mq_open), // 277
GENX_(__NR_mq_unlink, sys_mq_unlink), // (mq_open+1)
-//zz GENX_(__NR_mq_timedsend, sys_mq_timedsend), // (mq_open+2=
)
-//zz=20
-//zz GENXY(__NR_mq_timedreceive, sys_mq_timedreceive),// (mq_open+3=
)
-//zz GENX_(__NR_mq_notify, sys_mq_notify), // (mq_open+4=
)
-//zz GENXY(__NR_mq_getsetattr, sys_mq_getsetattr), // (mq_open+5=
)
+ GENX_(__NR_mq_timedsend, sys_mq_timedsend), // (mq_open+2)
+
+ GENXY(__NR_mq_timedreceive, sys_mq_timedreceive),// (mq_open+3)
+ GENX_(__NR_mq_notify, sys_mq_notify), // (mq_open+4)
+ GENXY(__NR_mq_getsetattr, sys_mq_getsetattr), // (mq_open+5)
GENX_(__NR_sys_kexec_load, sys_ni_syscall), // 283
};
=20
|