|
From: Nicholas N. <nj...@ca...> - 2004-11-12 11:19:39
|
CVS commit by nethercote:
Converted uname(); annotated some obsolete ones.
M +32 -32 coregrind/vg_syscalls.c 1.179
M +4 -0 memcheck/tests/scalar.c 1.10
M +14 -0 memcheck/tests/scalar.stderr.exp 1.9
--- valgrind/coregrind/vg_syscalls.c #1.178:1.179
@@ -5095,12 +5095,12 @@ PREx(sys_unlink, MayBlock)
}
-PRE(uname)
+PREx(sys_newuname, 0)
{
- /* int uname(struct utsname *buf); */
- PRINT("uname ( %p )",arg1);
+ PRINT("sys_newuname ( %p )", arg1);
+ PRE_REG_READ1(long, "uname", struct new_utsname *, buf);
PRE_MEM_WRITE( "uname(buf)", arg1, sizeof(struct vki_new_utsname) );
}
-POST(uname)
+POST(sys_newuname)
{
if (arg1 != (UWord)NULL) {
@@ -5835,10 +5835,10 @@ static const struct sys_info sys_info[]
SYSX_(__NR_chmod, sys_chmod), // 15 * P
- // lchown sys_lchown16 ## // 16
+ // (lchown, sys_lchown16), // 16 ##
SYSX_(__NR_break, sys_ni_syscall), // 17 * P
- // oldstat sys_stat // 18 *
+ // (__NR_oldstat, sys_stat), // 18 * L -- obsolete
SYSX_(__NR_lseek, sys_lseek), // 19 * P
- SYSX_(__NR_getpid, sys_getpid), // 20 *
+ SYSX_(__NR_getpid, sys_getpid), // 20 * P
SYSX_(__NR_mount, sys_mount), // 21 * L
SYSX_(__NR_umount, sys_oldumount), // 22 * L
@@ -5849,6 +5849,6 @@ static const struct sys_info sys_info[]
SYSBA(ptrace, 0), // 26 sys_ptrace ()
SYSB_(alarm, NBRunInLWP), // 27 sys_alarm *
- // oldfstat 28 sys_fstat *
- SYSX_(__NR_pause, sys_pause), // 29 *
+ // (__NR_oldfstat, sys_fstat), // 28 * L -- obsolete
+ SYSX_(__NR_pause, sys_pause), // 29 * P
SYSB_(utime, MayBlock), // 30 sys_utime *
@@ -5886,5 +5886,5 @@ static const struct sys_info sys_info[]
SYSBA(setpgid, 0), // 57 sys_setpgid *
SYSX_(__NR_ulimit, sys_ni_syscall), // 58 * P
- // oldolduname 59 sys_olduname
+ // (__NR_oldolduname, sys_olduname), // 59 (?) L -- obsolete
SYSB_(umask, 0), // 60 sys_umask *
@@ -5916,5 +5916,5 @@ static const struct sys_info sys_info[]
SYSB_(select, MayBlock), // 82 old_select
SYSB_(symlink, MayBlock), // 83 sys_symlink *
- // oldlstat 84 sys_lstat *
+ // (__NR_oldlstat, sys_lstat), // 84 * L -- obsolete
SYSBA(readlink, 0), // 85 sys_readlink *
@@ -5946,5 +5946,5 @@ static const struct sys_info sys_info[]
SYSBA(lstat, 0), // 107 sys_newlstat *
SYSBA(fstat, 0), // 108 sys_newfstat *
- // olduname 109 sys_uname
+ // (__NR_olduname, sys_uname), // 109 (?) L -- obsolete
SYSB_(iopl, 0), // 110 sys_iopl
@@ -5962,5 +5962,5 @@ static const struct sys_info sys_info[]
SYSB_(clone, Special), // 120 sys_clone (very non-gen)
// setdomainname 121 sys_setdomainname *
- SYSBA(uname, 0), // 122 sys_newuname *
+ SYSXY(__NR_uname, sys_newuname), // 122 * P
SYSB_(modify_ldt, Special), // 123 sys_modify_ldt (x86,amd64)
SYSBA(adjtimex, 0), // 124 sys_adjtimex *
--- valgrind/memcheck/tests/scalar.c #1.9:1.10
@@ -266,5 +266,9 @@ int main(void)
// __NR_clone 120
// __NR_setdomainname 121
+
// __NR_uname 122
+ GO(__NR_uname, "1s 1m");
+ SY(__NR_uname, s0);
+
// __NR_modify_ldt 123
// __NR_adjtimex 124
--- valgrind/memcheck/tests/scalar.stderr.exp #1.8:1.9
@@ -400,4 +400,18 @@
-----------------------------------------------------
-----------------------------------------------------
+122: __NR_uname 1s 1m
+-----------------------------------------------------
+
+Syscall param uname(buf) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param uname(buf) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
127: __NR_create_module 0e
-----------------------------------------------------
|