Cleanup after m_syscalls changes: fix some NPTL ish syscalls (x86)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3850 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_syscalls/priv_syscalls-generic.h b/coregrind/m_syscalls/priv_syscalls-generic.h
index e695cf4..9562dff 100644
--- a/coregrind/m_syscalls/priv_syscalls-generic.h
+++ b/coregrind/m_syscalls/priv_syscalls-generic.h
@@ -58,204 +58,202 @@
                          UInt mm_flags, Int fd, ULong offset );
 
 
-DECL_TEMPLATE(generic,sys_ni_syscall);            // * P -- unimplemented
-DECL_TEMPLATE(generic,sys_exit);
-DECL_TEMPLATE(generic,sys_fork);
-DECL_TEMPLATE(generic,sys_read);
-DECL_TEMPLATE(generic,sys_write);
-DECL_TEMPLATE(generic,sys_open);
-DECL_TEMPLATE(generic,sys_close);
-DECL_TEMPLATE(generic,sys_waitpid);
-DECL_TEMPLATE(generic,sys_creat);
-DECL_TEMPLATE(generic,sys_link);
-DECL_TEMPLATE(generic,sys_unlink);
-DECL_TEMPLATE(generic,sys_execve);    // (*??) P
-DECL_TEMPLATE(generic,sys_chdir);
-DECL_TEMPLATE(generic,sys_time);
-DECL_TEMPLATE(generic,sys_mknod);
-DECL_TEMPLATE(generic,sys_chmod);
-DECL_TEMPLATE(generic,sys_lseek);
-DECL_TEMPLATE(generic,sys_getpid);
-DECL_TEMPLATE(generic,sys_alarm);
-DECL_TEMPLATE(generic,sys_pause);
-DECL_TEMPLATE(generic,sys_utime);
-DECL_TEMPLATE(generic,sys_access);
-DECL_TEMPLATE(generic,sys_kill);
-DECL_TEMPLATE(generic,sys_rename);
-DECL_TEMPLATE(generic,sys_mkdir);
-DECL_TEMPLATE(generic,sys_rmdir);
-DECL_TEMPLATE(generic,sys_dup);
-DECL_TEMPLATE(generic,sys_times);
-DECL_TEMPLATE(generic,sys_fcntl);        // POSIX (but complicated)
-DECL_TEMPLATE(generic,sys_setpgid);
-DECL_TEMPLATE(generic,sys_umask);
-DECL_TEMPLATE(generic,sys_dup2);
-DECL_TEMPLATE(generic,sys_getppid);
-DECL_TEMPLATE(generic,sys_getpgrp);
-DECL_TEMPLATE(generic,sys_setsid);
-DECL_TEMPLATE(generic,sys_munmap);
-DECL_TEMPLATE(generic,sys_truncate);
-DECL_TEMPLATE(generic,sys_ftruncate);
-DECL_TEMPLATE(generic,sys_fchmod);
-DECL_TEMPLATE(generic,sys_msync);
-DECL_TEMPLATE(generic,sys_readv);
-DECL_TEMPLATE(generic,sys_writev);
-DECL_TEMPLATE(generic,sys_getsid);
-DECL_TEMPLATE(generic,sys_fdatasync);
-DECL_TEMPLATE(generic,sys_mlock);
-DECL_TEMPLATE(generic,sys_munlock);
-DECL_TEMPLATE(generic,sys_mlockall);
-DECL_TEMPLATE(generic,sys_munlockall);
-DECL_TEMPLATE(generic,sys_sched_setparam);
-DECL_TEMPLATE(generic,sys_sched_getparam);
-DECL_TEMPLATE(generic,sys_sched_rr_get_interval);
-DECL_TEMPLATE(generic,sys_sched_setscheduler);
-DECL_TEMPLATE(generic,sys_sched_getscheduler);
-DECL_TEMPLATE(generic,sys_sched_yield);
-DECL_TEMPLATE(generic,sys_sched_get_priority_max);
-DECL_TEMPLATE(generic,sys_sched_get_priority_min);
-DECL_TEMPLATE(generic,sys_nanosleep);
-DECL_TEMPLATE(generic,sys_mremap);    // POSIX, but Linux arg order may be odd
-DECL_TEMPLATE(generic,sys_getuid);
-DECL_TEMPLATE(generic,sys_getgid);
-DECL_TEMPLATE(generic,sys_geteuid);
-DECL_TEMPLATE(generic,sys_getegid);
-DECL_TEMPLATE(generic,sys_getpgid);
-DECL_TEMPLATE(generic,sys_fsync);
-DECL_TEMPLATE(generic,sys_wait4);
-DECL_TEMPLATE(generic,sys_mprotect);
-DECL_TEMPLATE(generic,sys_sigprocmask);
-DECL_TEMPLATE(generic,sys_timer_create);    // Linux: varies across archs?
-DECL_TEMPLATE(generic,sys_timer_settime);
-DECL_TEMPLATE(generic,sys_timer_gettime);
-DECL_TEMPLATE(generic,sys_timer_getoverrun);
-DECL_TEMPLATE(generic,sys_timer_delete);
-DECL_TEMPLATE(generic,sys_clock_settime);
-DECL_TEMPLATE(generic,sys_clock_gettime);
-DECL_TEMPLATE(generic,sys_clock_getres);
-DECL_TEMPLATE(generic,sys_clock_nanosleep);
-DECL_TEMPLATE(generic,sys_getcwd);
-DECL_TEMPLATE(generic,sys_symlink);
-DECL_TEMPLATE(generic,sys_getgroups);
-DECL_TEMPLATE(generic,sys_setgroups);             // SVr4, SVID, X/OPEN, 4.3BSD
-DECL_TEMPLATE(generic,sys_chown);
-DECL_TEMPLATE(generic,sys_setuid);
-DECL_TEMPLATE(generic,sys_gettimeofday);
-DECL_TEMPLATE(generic,sys_madvise);
-DECL_TEMPLATE(generic,sys_sigpending);
+DECL_TEMPLATE(generic, sys_ni_syscall);            // * P -- unimplemented
+DECL_TEMPLATE(generic, sys_exit);
+DECL_TEMPLATE(generic, sys_fork);
+DECL_TEMPLATE(generic, sys_read);
+DECL_TEMPLATE(generic, sys_write);
+DECL_TEMPLATE(generic, sys_open);
+DECL_TEMPLATE(generic, sys_close);
+DECL_TEMPLATE(generic, sys_waitpid);
+DECL_TEMPLATE(generic, sys_creat);
+DECL_TEMPLATE(generic, sys_link);
+DECL_TEMPLATE(generic, sys_unlink);
+DECL_TEMPLATE(generic, sys_execve);    // (*??) P
+DECL_TEMPLATE(generic, sys_chdir);
+DECL_TEMPLATE(generic, sys_time);
+DECL_TEMPLATE(generic, sys_mknod);
+DECL_TEMPLATE(generic, sys_chmod);
+DECL_TEMPLATE(generic, sys_lseek);
+DECL_TEMPLATE(generic, sys_getpid);
+DECL_TEMPLATE(generic, sys_alarm);
+DECL_TEMPLATE(generic, sys_pause);
+DECL_TEMPLATE(generic, sys_utime);
+DECL_TEMPLATE(generic, sys_access);
+DECL_TEMPLATE(generic, sys_kill);
+DECL_TEMPLATE(generic, sys_rename);
+DECL_TEMPLATE(generic, sys_mkdir);
+DECL_TEMPLATE(generic, sys_rmdir);
+DECL_TEMPLATE(generic, sys_dup);
+DECL_TEMPLATE(generic, sys_times);
+DECL_TEMPLATE(generic, sys_fcntl);        // POSIX (but complicated)
+DECL_TEMPLATE(generic, sys_setpgid);
+DECL_TEMPLATE(generic, sys_umask);
+DECL_TEMPLATE(generic, sys_dup2);
+DECL_TEMPLATE(generic, sys_getppid);
+DECL_TEMPLATE(generic, sys_getpgrp);
+DECL_TEMPLATE(generic, sys_setsid);
+DECL_TEMPLATE(generic, sys_munmap);
+DECL_TEMPLATE(generic, sys_truncate);
+DECL_TEMPLATE(generic, sys_ftruncate);
+DECL_TEMPLATE(generic, sys_fchmod);
+DECL_TEMPLATE(generic, sys_msync);
+DECL_TEMPLATE(generic, sys_readv);
+DECL_TEMPLATE(generic, sys_writev);
+DECL_TEMPLATE(generic, sys_getsid);
+DECL_TEMPLATE(generic, sys_fdatasync);
+DECL_TEMPLATE(generic, sys_mlock);
+DECL_TEMPLATE(generic, sys_munlock);
+DECL_TEMPLATE(generic, sys_mlockall);
+DECL_TEMPLATE(generic, sys_munlockall);
+DECL_TEMPLATE(generic, sys_sched_setparam);
+DECL_TEMPLATE(generic, sys_sched_getparam);
+DECL_TEMPLATE(generic, sys_sched_rr_get_interval);
+DECL_TEMPLATE(generic, sys_sched_setscheduler);
+DECL_TEMPLATE(generic, sys_sched_getscheduler);
+DECL_TEMPLATE(generic, sys_sched_yield);
+DECL_TEMPLATE(generic, sys_sched_get_priority_max);
+DECL_TEMPLATE(generic, sys_sched_get_priority_min);
+DECL_TEMPLATE(generic, sys_nanosleep);
+DECL_TEMPLATE(generic, sys_mremap);    // POSIX, but Linux arg order may be odd
+DECL_TEMPLATE(generic, sys_getuid);
+DECL_TEMPLATE(generic, sys_getgid);
+DECL_TEMPLATE(generic, sys_geteuid);
+DECL_TEMPLATE(generic, sys_getegid);
+DECL_TEMPLATE(generic, sys_getpgid);
+DECL_TEMPLATE(generic, sys_fsync);
+DECL_TEMPLATE(generic, sys_wait4);
+DECL_TEMPLATE(generic, sys_mprotect);
+DECL_TEMPLATE(generic, sys_sigprocmask);
+DECL_TEMPLATE(generic, sys_timer_create);    // Linux: varies across archs?
+DECL_TEMPLATE(generic, sys_timer_settime);
+DECL_TEMPLATE(generic, sys_timer_gettime);
+DECL_TEMPLATE(generic, sys_timer_getoverrun);
+DECL_TEMPLATE(generic, sys_timer_delete);
+DECL_TEMPLATE(generic, sys_clock_settime);
+DECL_TEMPLATE(generic, sys_clock_gettime);
+DECL_TEMPLATE(generic, sys_clock_getres);
+DECL_TEMPLATE(generic, sys_clock_nanosleep);
+DECL_TEMPLATE(generic, sys_getcwd);
+DECL_TEMPLATE(generic, sys_symlink);
+DECL_TEMPLATE(generic, sys_getgroups);
+DECL_TEMPLATE(generic, sys_setgroups);             // SVr4, SVID, X/OPEN, 4.3BSD
+DECL_TEMPLATE(generic, sys_chown);
+DECL_TEMPLATE(generic, sys_setuid);
+DECL_TEMPLATE(generic, sys_gettimeofday);
+DECL_TEMPLATE(generic, sys_madvise);
+DECL_TEMPLATE(generic, sys_sigpending);
 
 // These ones aren't POSIX, but are in some standard and look reasonably
-// generic, and are the same for all architectures under Linux.
-DECL_TEMPLATE(generic,sys_nice);      // SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3
-DECL_TEMPLATE(generic,sys_sync);      // SVr4, SVID, X/OPEN, BSD 4.3
-DECL_TEMPLATE(generic,sys_brk);       // 4.3BSD
-DECL_TEMPLATE(generic,sys_acct);      // SVR4, non-POSIX
-DECL_TEMPLATE(generic,sys_chroot);    // SVr4, SVID, 4.4BSD, X/OPEN
-DECL_TEMPLATE(generic,sys_readlink);  // X/OPEN, 4.4BSD
-DECL_TEMPLATE(generic,sys_fchdir);    // SVr4, SVID, POSIX, X/OPEN, 4.4BSD
-DECL_TEMPLATE(generic,sys_getdents);  // SVr4,SVID
-DECL_TEMPLATE(generic,sys_select);    // 4.4BSD
-DECL_TEMPLATE(generic,sys_flock);     // 4.4BSD
-DECL_TEMPLATE(generic,sys_poll);      // XPG4-UNIX
-DECL_TEMPLATE(generic,sys_getrusage); // SVr4, 4.3BSD
-DECL_TEMPLATE(generic,sys_stime);	    // SVr4, SVID, X/OPEN
-DECL_TEMPLATE(generic,sys_settimeofday); // SVr4, 4.3BSD (non-POSIX)
-DECL_TEMPLATE(generic,sys_getpriority);  // SVr4, 4.4BSD
-DECL_TEMPLATE(generic,sys_setpriority);  // SVr4, 4.4BSD
-DECL_TEMPLATE(generic,sys_setitimer);    // SVr4, 4.4BSD
-DECL_TEMPLATE(generic,sys_getitimer);    // SVr4, 4.4BSD
-DECL_TEMPLATE(generic,sys_setreuid);     // 4.3BSD
-DECL_TEMPLATE(generic,sys_setregid);     // 4.3BSD
-DECL_TEMPLATE(generic,sys_fchown);       // SVr4,4.3BSD
-DECL_TEMPLATE(generic,sys_setgid);       // SVr4,SVID
-DECL_TEMPLATE(generic,sys_utimes);       // 4.3BSD
+// generic,  and are the same for all architectures under Linux.
+DECL_TEMPLATE(generic, sys_nice);      // SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3
+DECL_TEMPLATE(generic, sys_sync);      // SVr4, SVID, X/OPEN, BSD 4.3
+DECL_TEMPLATE(generic, sys_brk);       // 4.3BSD
+DECL_TEMPLATE(generic, sys_acct);      // SVR4, non-POSIX
+DECL_TEMPLATE(generic, sys_chroot);    // SVr4, SVID, 4.4BSD, X/OPEN
+DECL_TEMPLATE(generic, sys_readlink);  // X/OPEN, 4.4BSD
+DECL_TEMPLATE(generic, sys_fchdir);    // SVr4, SVID, POSIX, X/OPEN, 4.4BSD
+DECL_TEMPLATE(generic, sys_getdents);  // SVr4,SVID
+DECL_TEMPLATE(generic, sys_select);    // 4.4BSD
+DECL_TEMPLATE(generic, sys_flock);     // 4.4BSD
+DECL_TEMPLATE(generic, sys_poll);      // XPG4-UNIX
+DECL_TEMPLATE(generic, sys_getrusage); // SVr4, 4.3BSD
+DECL_TEMPLATE(generic, sys_stime);	    // SVr4, SVID, X/OPEN
+DECL_TEMPLATE(generic, sys_settimeofday); // SVr4, 4.3BSD (non-POSIX)
+DECL_TEMPLATE(generic, sys_getpriority);  // SVr4, 4.4BSD
+DECL_TEMPLATE(generic, sys_setpriority);  // SVr4, 4.4BSD
+DECL_TEMPLATE(generic, sys_setitimer);    // SVr4, 4.4BSD
+DECL_TEMPLATE(generic, sys_getitimer);    // SVr4, 4.4BSD
+DECL_TEMPLATE(generic, sys_setreuid);     // 4.3BSD
+DECL_TEMPLATE(generic, sys_setregid);     // 4.3BSD
+DECL_TEMPLATE(generic, sys_fchown);       // SVr4,4.3BSD
+DECL_TEMPLATE(generic, sys_setgid);       // SVr4,SVID
+DECL_TEMPLATE(generic, sys_utimes);       // 4.3BSD
 
 // These ones may be Linux specific... not sure.  They use 16-bit gid_t and
 // uid_t types.  The similarly named (minus the "16" suffix) ones below use
 // 32-bit versions of these types.
-DECL_TEMPLATE(generic,sys_setuid16);              // ## P
-DECL_TEMPLATE(generic,sys_getuid16);              // ## P
-DECL_TEMPLATE(generic,sys_setgid16);              // ## SVr4,SVID
-DECL_TEMPLATE(generic,sys_getgid16);              // ## P
-DECL_TEMPLATE(generic,sys_geteuid16);             // ## P
-DECL_TEMPLATE(generic,sys_getegid16);             // ## P
-DECL_TEMPLATE(generic,sys_setreuid16);            // ## BSD4.3
-DECL_TEMPLATE(generic,sys_setregid16);            // ## BSD4.3
-DECL_TEMPLATE(generic,sys_getgroups16);           // ## P
-DECL_TEMPLATE(generic,sys_setgroups16);           // ## SVr4, SVID, X/OPEN, 4.3BSD
-DECL_TEMPLATE(generic,sys_fchown16);              // ## SVr4,BSD4.3
-DECL_TEMPLATE(generic,sys_chown16);               // ## P
+DECL_TEMPLATE(generic, sys_setuid16);              // ## P
+DECL_TEMPLATE(generic, sys_getuid16);              // ## P
+DECL_TEMPLATE(generic, sys_setgid16);              // ## SVr4,SVID
+DECL_TEMPLATE(generic, sys_getgid16);              // ## P
+DECL_TEMPLATE(generic, sys_geteuid16);             // ## P
+DECL_TEMPLATE(generic, sys_getegid16);             // ## P
+DECL_TEMPLATE(generic, sys_setreuid16);            // ## BSD4.3
+DECL_TEMPLATE(generic, sys_setregid16);            // ## BSD4.3
+DECL_TEMPLATE(generic, sys_getgroups16);           // ## P
+DECL_TEMPLATE(generic, sys_setgroups16);           // ## SVr4, SVID, X/OPEN, 4.3BSD
+DECL_TEMPLATE(generic, sys_fchown16);              // ## SVr4,BSD4.3
+DECL_TEMPLATE(generic, sys_chown16);               // ## P
 
 // Some archs on Linux do not match the generic wrapper for sys_pipe().
-DECL_TEMPLATE(generic,sys_pipe);
+DECL_TEMPLATE(generic, sys_pipe);
 
 // May not be generic for every architecture under Linux.
-DECL_TEMPLATE(generic,sys_sigaction);             // (x86) P
+DECL_TEMPLATE(generic, sys_sigaction);             // (x86) P
 
 // Funny names, not sure...
-DECL_TEMPLATE(generic,sys_newstat);               // * P
-DECL_TEMPLATE(generic,sys_newlstat);              // *
-DECL_TEMPLATE(generic,sys_newfstat);              // * P (SVr4,BSD4.3)
+DECL_TEMPLATE(generic, sys_newstat);               // * P
+DECL_TEMPLATE(generic, sys_newlstat);              // *
+DECL_TEMPLATE(generic, sys_newfstat);              // * P (SVr4,BSD4.3)
 
 // For the remainder, not really sure yet
-DECL_TEMPLATE(generic,sys_ptrace);                // (x86?) (almost-P)
-DECL_TEMPLATE(generic,sys_sigsuspend);            // POSIX, but L (proto varies across archs)
-DECL_TEMPLATE(generic,sys_setrlimit);             // SVr4, 4.3BSD
-DECL_TEMPLATE(generic,sys_ioctl);                 // x86? (various)
-DECL_TEMPLATE(generic,sys_old_getrlimit);         // SVr4, 4.3BSD L?
-DECL_TEMPLATE(generic,sys_statfs);                // * L?
-DECL_TEMPLATE(generic,sys_fstatfs);               // * L?
-DECL_TEMPLATE(generic,sys_iopl);                  // (x86/amd64) L
-DECL_TEMPLATE(generic,sys_ipc);                   // (x86) L
-DECL_TEMPLATE(generic,sys_newuname);              // * P
-DECL_TEMPLATE(generic,sys_init_module);           // * L?
-DECL_TEMPLATE(generic,sys_quotactl);              // * (?)
-DECL_TEMPLATE(generic,sys_rt_sigaction);          // (x86) ()
-DECL_TEMPLATE(generic,sys_rt_sigprocmask);        // * ?
-DECL_TEMPLATE(generic,sys_rt_sigpending);         // * ?
-DECL_TEMPLATE(generic,sys_rt_sigtimedwait);       // * ?
-DECL_TEMPLATE(generic,sys_rt_sigqueueinfo);       // * ?
-DECL_TEMPLATE(generic,sys_rt_sigsuspend);         // () ()
-DECL_TEMPLATE(generic,sys_pread64);               // * (Unix98?)
-DECL_TEMPLATE(generic,sys_pwrite64);              // * (Unix98?)
-DECL_TEMPLATE(generic,sys_capget);                // * L?
-DECL_TEMPLATE(generic,sys_capset);                // * L?
-DECL_TEMPLATE(generic,sys_sigaltstack);           // (x86) (XPG4-UNIX)
-DECL_TEMPLATE(generic,sys_getpmsg);               // (?) (?)
-DECL_TEMPLATE(generic,sys_putpmsg);               // (?) (?)
-DECL_TEMPLATE(generic,sys_getrlimit);             // * (?)
-DECL_TEMPLATE(generic,sys_mmap2);                 // (x86?) P?
-DECL_TEMPLATE(generic,sys_truncate64);            // %% (P?)
-DECL_TEMPLATE(generic,sys_ftruncate64);           // %% (P?)
-DECL_TEMPLATE(generic,sys_lchown);                // * (L?)
-DECL_TEMPLATE(generic,sys_mincore);               // * L?
-DECL_TEMPLATE(generic,sys_getdents64);            // * (SVr4,SVID?)
-DECL_TEMPLATE(generic,sys_fcntl64);               // * P?
-DECL_TEMPLATE(generic,sys_setxattr);              // * L?
-DECL_TEMPLATE(generic,sys_lsetxattr);             // * L?
-DECL_TEMPLATE(generic,sys_fsetxattr);             // * L?
-DECL_TEMPLATE(generic,sys_getxattr);              // * L?
-DECL_TEMPLATE(generic,sys_lgetxattr);             // * L?
-DECL_TEMPLATE(generic,sys_fgetxattr);             // * L?
-DECL_TEMPLATE(generic,sys_listxattr);             // * L?
-DECL_TEMPLATE(generic,sys_llistxattr);            // * L?
-DECL_TEMPLATE(generic,sys_flistxattr);            // * L?
-DECL_TEMPLATE(generic,sys_removexattr);           // * L?
-DECL_TEMPLATE(generic,sys_lremovexattr);          // * L?
-DECL_TEMPLATE(generic,sys_fremovexattr);          // * L?
-DECL_TEMPLATE(generic,sys_sched_setaffinity);     // * L?
-DECL_TEMPLATE(generic,sys_sched_getaffinity);     // * L?
-DECL_TEMPLATE(generic,sys_lookup_dcookie);        // (*/32/64) L
-DECL_TEMPLATE(generic,sys_set_tid_address);       // * ?
-DECL_TEMPLATE(generic,sys_statfs64);              // * (?)
-DECL_TEMPLATE(generic,sys_fstatfs64);             // * (?)
-DECL_TEMPLATE(generic,sys_mq_open);               // * P?
-DECL_TEMPLATE(generic,sys_mq_unlink);             // * P?
-DECL_TEMPLATE(generic,sys_mq_timedsend);          // * P?
-DECL_TEMPLATE(generic,sys_mq_timedreceive);       // * P?
-DECL_TEMPLATE(generic,sys_mq_notify);             // * P?
-DECL_TEMPLATE(generic,sys_mq_getsetattr);         // * P?
-
+DECL_TEMPLATE(generic, sys_ptrace);                // (x86?) (almost-P)
+DECL_TEMPLATE(generic, sys_sigsuspend);            // POSIX, but L (proto varies across archs)
+DECL_TEMPLATE(generic, sys_setrlimit);             // SVr4, 4.3BSD
+DECL_TEMPLATE(generic, sys_ioctl);                 // x86? (various)
+DECL_TEMPLATE(generic, sys_old_getrlimit);         // SVr4, 4.3BSD L?
+DECL_TEMPLATE(generic, sys_statfs);                // * L?
+DECL_TEMPLATE(generic, sys_fstatfs);               // * L?
+DECL_TEMPLATE(generic, sys_iopl);                  // (x86/amd64) L
+DECL_TEMPLATE(generic, sys_ipc);                   // (x86) L
+DECL_TEMPLATE(generic, sys_newuname);              // * P
+DECL_TEMPLATE(generic, sys_init_module);           // * L?
+DECL_TEMPLATE(generic, sys_quotactl);              // * (?)
+DECL_TEMPLATE(generic, sys_rt_sigaction);          // (x86) ()
+DECL_TEMPLATE(generic, sys_rt_sigprocmask);        // * ?
+DECL_TEMPLATE(generic, sys_rt_sigpending);         // * ?
+DECL_TEMPLATE(generic, sys_rt_sigtimedwait);       // * ?
+DECL_TEMPLATE(generic, sys_rt_sigqueueinfo);       // * ?
+DECL_TEMPLATE(generic, sys_rt_sigsuspend);         // () ()
+DECL_TEMPLATE(generic, sys_pread64);               // * (Unix98?)
+DECL_TEMPLATE(generic, sys_pwrite64);              // * (Unix98?)
+DECL_TEMPLATE(generic, sys_capget);                // * L?
+DECL_TEMPLATE(generic, sys_capset);                // * L?
+DECL_TEMPLATE(generic, sys_sigaltstack);           // (x86) (XPG4-UNIX)
+DECL_TEMPLATE(generic, sys_getpmsg);               // (?) (?)
+DECL_TEMPLATE(generic, sys_putpmsg);               // (?) (?)
+DECL_TEMPLATE(generic, sys_getrlimit);             // * (?)
+DECL_TEMPLATE(generic, sys_mmap2);                 // (x86?) P?
+DECL_TEMPLATE(generic, sys_truncate64);            // %% (P?)
+DECL_TEMPLATE(generic, sys_ftruncate64);           // %% (P?)
+DECL_TEMPLATE(generic, sys_lchown);                // * (L?)
+DECL_TEMPLATE(generic, sys_mincore);               // * L?
+DECL_TEMPLATE(generic, sys_getdents64);            // * (SVr4,SVID?)
+DECL_TEMPLATE(generic, sys_fcntl64);               // * P?
+DECL_TEMPLATE(generic, sys_setxattr);              // * L?
+DECL_TEMPLATE(generic, sys_lsetxattr);             // * L?
+DECL_TEMPLATE(generic, sys_fsetxattr);             // * L?
+DECL_TEMPLATE(generic, sys_getxattr);              // * L?
+DECL_TEMPLATE(generic, sys_lgetxattr);             // * L?
+DECL_TEMPLATE(generic, sys_fgetxattr);             // * L?
+DECL_TEMPLATE(generic, sys_listxattr);             // * L?
+DECL_TEMPLATE(generic, sys_llistxattr);            // * L?
+DECL_TEMPLATE(generic, sys_flistxattr);            // * L?
+DECL_TEMPLATE(generic, sys_removexattr);           // * L?
+DECL_TEMPLATE(generic, sys_lremovexattr);          // * L?
+DECL_TEMPLATE(generic, sys_fremovexattr);          // * L?
+DECL_TEMPLATE(generic, sys_sched_setaffinity);     // * L?
+DECL_TEMPLATE(generic, sys_sched_getaffinity);     // * L?
+DECL_TEMPLATE(generic, sys_lookup_dcookie);        // (*/32/64) L
+DECL_TEMPLATE(generic, sys_statfs64);              // * (?)
+DECL_TEMPLATE(generic, sys_fstatfs64);             // * (?)
+DECL_TEMPLATE(generic, sys_mq_open);               // * P?
+DECL_TEMPLATE(generic, sys_mq_unlink);             // * P?
+DECL_TEMPLATE(generic, sys_mq_timedsend);          // * P?
+DECL_TEMPLATE(generic, sys_mq_timedreceive);       // * P?
+DECL_TEMPLATE(generic, sys_mq_notify);             // * P?
+DECL_TEMPLATE(generic, sys_mq_getsetattr);         // * P?
 
 
 /* ---------------------------------------------------------------------
diff --git a/coregrind/m_syscalls/priv_syscalls-linux.h b/coregrind/m_syscalls/priv_syscalls-linux.h
index 7747196..dc65d91 100644
--- a/coregrind/m_syscalls/priv_syscalls-linux.h
+++ b/coregrind/m_syscalls/priv_syscalls-linux.h
@@ -33,58 +33,58 @@
 
 /* requires #include "priv_types_n_macros.h" */
 
+DECL_TEMPLATE(linux, sys_exit_group);
 
-DECL_TEMPLATE(linux,sys_exit_group);
+DECL_TEMPLATE(linux, sys_mount);
+DECL_TEMPLATE(linux, sys_oldumount);
+DECL_TEMPLATE(linux, sys_umount);
 
-DECL_TEMPLATE(linux,sys_mount);
-DECL_TEMPLATE(linux,sys_oldumount);
-DECL_TEMPLATE(linux,sys_umount);
+DECL_TEMPLATE(linux, sys_llseek);
+DECL_TEMPLATE(linux, sys_adjtimex);
 
-DECL_TEMPLATE(linux,sys_llseek);
-DECL_TEMPLATE(linux,sys_adjtimex);
+DECL_TEMPLATE(linux, sys_setfsuid16);
+DECL_TEMPLATE(linux, sys_setfsgid16);
+DECL_TEMPLATE(linux, sys_setresuid16);  // man page says "non-standard";
+DECL_TEMPLATE(linux, sys_getresuid16);
+DECL_TEMPLATE(linux, sys_setresgid16);  // man page says "non-standard"
+DECL_TEMPLATE(linux, sys_getresgid16);
 
-DECL_TEMPLATE(linux,sys_setfsuid16);
-DECL_TEMPLATE(linux,sys_setfsgid16);
-DECL_TEMPLATE(linux,sys_setresuid16);  // man page says "non-standard";
-DECL_TEMPLATE(linux,sys_getresuid16);
-DECL_TEMPLATE(linux,sys_setresgid16);  // man page says "non-standard"
-DECL_TEMPLATE(linux,sys_getresgid16);
+DECL_TEMPLATE(linux, sys_setfsuid);
+DECL_TEMPLATE(linux, sys_setfsgid);
+DECL_TEMPLATE(linux, sys_setresuid);    // man page says "non-standard"
+DECL_TEMPLATE(linux, sys_getresuid);
+DECL_TEMPLATE(linux, sys_setresgid);    // man page says "non-standard"
+DECL_TEMPLATE(linux, sys_getresgid);
 
-DECL_TEMPLATE(linux,sys_setfsuid);
-DECL_TEMPLATE(linux,sys_setfsgid);
-DECL_TEMPLATE(linux,sys_setresuid);    // man page says "non-standard"
-DECL_TEMPLATE(linux,sys_getresuid);
-DECL_TEMPLATE(linux,sys_setresgid);    // man page says "non-standard"
-DECL_TEMPLATE(linux,sys_getresgid);
+DECL_TEMPLATE(linux, sys_ioperm);
+DECL_TEMPLATE(linux, sys_syslog);
+DECL_TEMPLATE(linux, sys_vhangup);
+DECL_TEMPLATE(linux, sys_sysinfo);
+DECL_TEMPLATE(linux, sys_personality);
+DECL_TEMPLATE(linux, sys_sysctl);
+DECL_TEMPLATE(linux, sys_prctl);
 
-DECL_TEMPLATE(linux,sys_ioperm);
-DECL_TEMPLATE(linux,sys_syslog);
-DECL_TEMPLATE(linux,sys_vhangup);
-DECL_TEMPLATE(linux,sys_sysinfo);
-DECL_TEMPLATE(linux,sys_personality);
-DECL_TEMPLATE(linux,sys_sysctl);
-DECL_TEMPLATE(linux,sys_prctl);
+DECL_TEMPLATE(linux, sys_sendfile);
+DECL_TEMPLATE(linux, sys_sendfile64);
+DECL_TEMPLATE(linux, sys_futex);
 
-DECL_TEMPLATE(linux,sys_sendfile);
-DECL_TEMPLATE(linux,sys_sendfile64);
-DECL_TEMPLATE(linux,sys_futex);
+DECL_TEMPLATE(linux, sys_epoll_create);
+DECL_TEMPLATE(linux, sys_epoll_ctl);
+DECL_TEMPLATE(linux, sys_epoll_wait);
 
-DECL_TEMPLATE(linux,sys_epoll_create);
-DECL_TEMPLATE(linux,sys_epoll_ctl);
-DECL_TEMPLATE(linux,sys_epoll_wait);
+DECL_TEMPLATE(linux, sys_gettid);
+DECL_TEMPLATE(linux, sys_set_tid_address);
+DECL_TEMPLATE(linux, sys_tkill);
+DECL_TEMPLATE(linux, sys_tgkill);
 
-DECL_TEMPLATE(linux,sys_gettid);
-DECL_TEMPLATE(linux,sys_tkill);
-DECL_TEMPLATE(linux,sys_tgkill);
+DECL_TEMPLATE(linux, sys_fadvise64);
+DECL_TEMPLATE(linux, sys_fadvise64_64);
 
-DECL_TEMPLATE(linux,sys_fadvise64);
-DECL_TEMPLATE(linux,sys_fadvise64_64);
-
-DECL_TEMPLATE(linux,sys_io_setup);
-DECL_TEMPLATE(linux,sys_io_destroy);
-DECL_TEMPLATE(linux,sys_io_getevents);
-DECL_TEMPLATE(linux,sys_io_submit);
-DECL_TEMPLATE(linux,sys_io_cancel);
+DECL_TEMPLATE(linux, sys_io_setup);
+DECL_TEMPLATE(linux, sys_io_destroy);
+DECL_TEMPLATE(linux, sys_io_getevents);
+DECL_TEMPLATE(linux, sys_io_submit);
+DECL_TEMPLATE(linux, sys_io_cancel);
 
 #endif   // __PRIV_SYSCALLS_LINUX_H
 
diff --git a/coregrind/m_syscalls/syscalls-generic.c b/coregrind/m_syscalls/syscalls-generic.c
index e473ed9..910c4c2 100644
--- a/coregrind/m_syscalls/syscalls-generic.c
+++ b/coregrind/m_syscalls/syscalls-generic.c
@@ -1683,12 +1683,6 @@
    SET_STATUS_Failure( VKI_ENOSYS );
 }
 
-//zz PRE(sys_set_tid_address, 0)
-//zz {
-//zz    PRINT("sys_set_tid_address ( %p )", ARG1);
-//zz    PRE_REG_READ1(long, "set_tid_address", int *, tidptr);
-//zz }
-//zz 
 //zz PRE(sys_iopl, 0)
 //zz {
 //zz    PRINT("sys_iopl ( %d )", ARG1);
diff --git a/coregrind/m_syscalls/syscalls-linux.c b/coregrind/m_syscalls/syscalls-linux.c
index c8f3bfc..5018d82 100644
--- a/coregrind/m_syscalls/syscalls-linux.c
+++ b/coregrind/m_syscalls/syscalls-linux.c
@@ -30,16 +30,18 @@
 
 #include "core.h"
 #include "pub_core_aspacemgr.h"
+#include "pub_core_libcbase.h"
 #include "pub_core_libcassert.h"
 #include "pub_core_libcfile.h"
 #include "pub_core_libcprint.h"
 #include "pub_core_tooliface.h"
 #include "pub_core_options.h"
+#include "pub_core_signals.h"
 
 #include "priv_types_n_macros.h"
+#include "priv_syscalls-generic.h"
 #include "priv_syscalls-linux.h"
 
-
 /* ---------------------------------------------------------------------
    PRE/POST wrappers for arch-generic, Linux-specific syscalls
    ------------------------------------------------------------------ */
@@ -50,6 +52,12 @@
 #define PRE(name)       DEFN_PRE_TEMPLATE(linux, name)
 #define POST(name)      DEFN_POST_TEMPLATE(linux, name)
 
+PRE(sys_set_tid_address)
+{
+   PRINT("sys_set_tid_address ( %p )", ARG1);
+   PRE_REG_READ1(long, "set_tid_address", int *, tidptr);
+}
+
 PRE(sys_exit_group)
 {
    ThreadId     t;
@@ -416,62 +424,65 @@
 //zz       POST_MEM_WRITE( ARG3, sizeof(vki_loff_t) );
 //zz    }
 //zz }
-//zz 
-//zz PRE(sys_futex, MayBlock)
-//zz {
-//zz    /* 
-//zz       arg    param                              used by ops
-//zz 
-//zz       ARG1 - u32 *futex				all
-//zz       ARG2 - int op
-//zz       ARG3 - int val				WAIT,WAKE,FD,REQUEUE,CMP_REQUEUE
-//zz       ARG4 - struct timespec *utime		WAIT:time*	REQUEUE,CMP_REQUEUE:val2
-//zz       ARG5 - u32 *uaddr2			REQUEUE,CMP_REQUEUE
-//zz       ARG6 - int val3				CMP_REQUEUE
-//zz     */
-//zz    PRINT("sys_futex ( %p, %d, %d, %p, %p )", ARG1,ARG2,ARG3,ARG4,ARG5);
-//zz    PRE_REG_READ6(long, "futex", 
-//zz                  vki_u32 *, futex, int, op, int, val,
-//zz                  struct timespec *, utime, vki_u32 *, uaddr2, int, val3);
-//zz 
-//zz    PRE_MEM_READ( "futex(futex)", ARG1, sizeof(Int) );
-//zz 
-//zz    switch(ARG2) {
-//zz    case VKI_FUTEX_WAIT:
-//zz       if (ARG4 != 0)
-//zz 	 PRE_MEM_READ( "futex(timeout)", ARG4, sizeof(struct vki_timespec) );
-//zz       break;
-//zz 
-//zz    case VKI_FUTEX_REQUEUE:
-//zz    case VKI_FUTEX_CMP_REQUEUE:
-//zz       PRE_MEM_READ( "futex(futex2)", ARG5, sizeof(Int) );
-//zz       break;
-//zz 
-//zz    case VKI_FUTEX_WAKE:
-//zz    case VKI_FUTEX_FD:
-//zz       /* no additional pointers */
-//zz       break;
-//zz 
-//zz    default:
-//zz       SET_RESULT(-VKI_ENOSYS);   // some futex function we don't understand
-//zz       break;
-//zz    }
-//zz }
-//zz 
-//zz POST(sys_futex)
-//zz {
-//zz    POST_MEM_WRITE( ARG1, sizeof(int) );
-//zz    if (ARG2 == VKI_FUTEX_FD) {
-//zz       if (!VG_(fd_allowed)(RES, "futex", tid, True)) {
-//zz          VG_(close)(RES);
-//zz          SET_RESULT( -VKI_EMFILE );
-//zz       } else {
-//zz          if (VG_(clo_track_fds))
-//zz             VG_(record_fd_open)(tid, RES, VG_(arena_strdup)(VG_AR_CORE, (Char*)ARG1));
-//zz       }
-//zz    }
-//zz }
-//zz 
+
+PRE(sys_futex)
+{
+   /* 
+      arg    param                              used by ops
+
+      ARG1 - u32 *futex				all
+      ARG2 - int op
+      ARG3 - int val				WAIT,WAKE,FD,REQUEUE,CMP_REQUEUE
+      ARG4 - struct timespec *utime		WAIT:time*	REQUEUE,CMP_REQUEUE:val2
+      ARG5 - u32 *uaddr2			REQUEUE,CMP_REQUEUE
+      ARG6 - int val3				CMP_REQUEUE
+    */
+   PRINT("sys_futex ( %p, %d, %d, %p, %p )", ARG1,ARG2,ARG3,ARG4,ARG5);
+   PRE_REG_READ6(long, "futex", 
+                 vki_u32 *, futex, int, op, int, val,
+                 struct timespec *, utime, vki_u32 *, uaddr2, int, val3);
+
+   PRE_MEM_READ( "futex(futex)", ARG1, sizeof(Int) );
+
+   *flags |= SfMayBlock;
+
+   switch(ARG2) {
+   case VKI_FUTEX_WAIT:
+      if (ARG4 != 0)
+	 PRE_MEM_READ( "futex(timeout)", ARG4, sizeof(struct vki_timespec) );
+      break;
+
+   case VKI_FUTEX_REQUEUE:
+   case VKI_FUTEX_CMP_REQUEUE:
+      PRE_MEM_READ( "futex(futex2)", ARG5, sizeof(Int) );
+      break;
+
+   case VKI_FUTEX_WAKE:
+   case VKI_FUTEX_FD:
+      /* no additional pointers */
+      break;
+
+   default:
+      SET_STATUS_Failure( VKI_ENOSYS );   // some futex function we don't understand
+      break;
+   }
+}
+
+POST(sys_futex)
+{
+   vg_assert(SUCCESS);
+   POST_MEM_WRITE( ARG1, sizeof(int) );
+   if (ARG2 == VKI_FUTEX_FD) {
+      if (!VG_(fd_allowed)(RES, "futex", tid, True)) {
+         VG_(close)(RES);
+         SET_STATUS_Failure( VKI_EMFILE );
+      } else {
+         if (VG_(clo_track_fds))
+            VG_(record_fd_open)(tid, RES, VG_(arena_strdup)(VG_AR_CORE, (Char*)ARG1));
+      }
+   }
+}
+
 //zz PRE(sys_epoll_create, 0)
 //zz {
 //zz    PRINT("sys_epoll_create ( %d )", ARG1);
@@ -482,7 +493,7 @@
 //zz {
 //zz    if (!VG_(fd_allowed)(RES, "epoll_create", tid, True)) {
 //zz       VG_(close)(RES);
-//zz       SET_RESULT( -VKI_EMFILE );
+//zz       SET_STATUS_( -VKI_EMFILE );
 //zz    } else {
 //zz       if (VG_(clo_track_fds))
 //zz          VG_(record_fd_open) (tid, RES, NULL);
@@ -530,16 +541,16 @@
 //zz    PRINT("sys_tkill ( %d, %d )", ARG1,ARG2);
 //zz    PRE_REG_READ2(long, "tkill", int, tid, int, sig);
 //zz    if (!VG_(client_signal_OK)(ARG2)) {
-//zz       SET_RESULT( -VKI_EINVAL );
+//zz       SET_STATUS_( -VKI_EINVAL );
 //zz       return;
 //zz    }
 //zz 
 //zz    /* If we're sending SIGKILL, check to see if the target is one of
 //zz       our threads and handle it specially. */
 //zz    if (ARG2 == VKI_SIGKILL && VG_(do_sigkill)(ARG1, -1))
-//zz       SET_RESULT(0);
+//zz       SET_STATUS_(0);
 //zz    else
-//zz       SET_RESULT(VG_(do_syscall2)(SYSNO, ARG1, ARG2));
+//zz       SET_STATUS_(VG_(do_syscall2)(SYSNO, ARG1, ARG2));
 //zz 
 //zz    if (VG_(clo_trace_signals))
 //zz       VG_(message)(Vg_DebugMsg, "tkill: sent signal %d to pid %d",
@@ -547,40 +558,38 @@
 //zz    // Check to see if this kill gave us a pending signal
 //zz    XXX FIXME VG_(poll_signals)(tid);
 //zz }
-//zz 
-//zz PRE(sys_tgkill, Special)
-//zz {
-//zz    /* int tgkill(pid_t tgid, pid_t tid, int sig); */
-//zz    PRINT("sys_tgkill ( %d, %d, %d )", ARG1,ARG2,ARG3);
-//zz    PRE_REG_READ3(long, "tgkill", int, tgid, int, tid, int, sig);
-//zz    if (!VG_(client_signal_OK)(ARG3)) {
-//zz       SET_RESULT( -VKI_EINVAL );
-//zz       return;
-//zz    }
-//zz    
-//zz    /* If we're sending SIGKILL, check to see if the target is one of
-//zz       our threads and handle it specially. */
-//zz    if (ARG3 == VKI_SIGKILL && VG_(do_sigkill)(ARG2, ARG1))
-//zz       SET_RESULT(0);
-//zz    else
-//zz       SET_RESULT(VG_(do_syscall3)(SYSNO, ARG1, ARG2, ARG3));
-//zz 
-//zz    if (VG_(clo_trace_signals))
-//zz       VG_(message)(Vg_DebugMsg, "tgkill: sent signal %d to pid %d/%d",
-//zz 		   ARG3, ARG1, ARG2);
-//zz    // Check to see if this kill gave us a pending signal
-//zz    XXX FIXME VG_(poll_signals)(tid);
-//zz }
-//zz 
-//zz POST(sys_tgkill)
-//zz {
-//zz    if (VG_(clo_trace_signals))
-//zz       VG_(message)(Vg_DebugMsg, "tgkill: sent signal %d to pid %d/%d",
-//zz                    ARG3, ARG1, ARG2);
-//zz    // Check to see if this kill gave us a pending signal
-//zz    XXX FIXME VG_(poll_signals)(tid);
-//zz }
-//zz 
+
+PRE(sys_tgkill)
+{
+   /* int tgkill(pid_t tgid, pid_t tid, int sig); */
+   PRINT("sys_tgkill ( %d, %d, %d )", ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "tgkill", int, tgid, int, tid, int, sig);
+   if (!VG_(client_signal_OK)(ARG3)) {
+      SET_STATUS_Failure( VKI_EINVAL );
+      return;
+   }
+   
+   /* If we're sending SIGKILL, check to see if the target is one of
+      our threads and handle it specially. */
+   if (ARG3 == VKI_SIGKILL && VG_(do_sigkill)(ARG2, ARG1))
+      SET_STATUS_Success(0);
+   else
+      SET_STATUS_from_SysRes(VG_(do_syscall3)(SYSNO, ARG1, ARG2, ARG3));
+
+   if (VG_(clo_trace_signals))
+      VG_(message)(Vg_DebugMsg, "tgkill: sent signal %d to pid %d/%d",
+		   ARG3, ARG1, ARG2);
+   /* Check to see if this kill gave us a pending signal */
+   *flags |= SfPollAfter;
+}
+
+POST(sys_tgkill)
+{
+   if (VG_(clo_trace_signals))
+      VG_(message)(Vg_DebugMsg, "tgkill: sent signal %d to pid %d/%d",
+                   ARG3, ARG1, ARG2);
+}
+
 //zz PRE(sys_fadvise64, 0)
 //zz {
 //zz    PRINT("sys_fadvise64 ( %d, %lld, %lu, %d )", ARG1,ARG2,ARG3);
@@ -613,14 +622,14 @@
 //zz    addr = VG_(find_map_space)(0, size, True);
 //zz    
 //zz    if (addr == 0) {
-//zz       SET_RESULT( -VKI_ENOMEM );
+//zz       SET_STATUS_( -VKI_ENOMEM );
 //zz       return;
 //zz    }
 //zz 
 //zz    VG_(map_segment)(addr, size, VKI_PROT_READ|VKI_PROT_WRITE, SF_FIXED);
 //zz    
 //zz    VG_(pad_address_space)(0);
-//zz    SET_RESULT( VG_(do_syscall2)(SYSNO, ARG1, ARG2) );
+//zz    SET_STATUS_( VG_(do_syscall2)(SYSNO, ARG1, ARG2) );
 //zz    VG_(unpad_address_space)(0);
 //zz 
 //zz    if (RES == 0) {
@@ -660,7 +669,7 @@
 //zz    size = VG_PGROUNDUP(sizeof(struct vki_aio_ring) + 
 //zz                        r->nr*sizeof(struct vki_io_event));
 //zz 
-//zz    SET_RESULT( VG_(do_syscall1)(SYSNO, ARG1) );
+//zz    SET_STATUS_( VG_(do_syscall1)(SYSNO, ARG1) );
 //zz 
 //zz    if (RES == 0 && s != NULL) { 
 //zz       VG_TRACK( die_mem_munmap, ARG1, size );
diff --git a/coregrind/m_syscalls/syscalls-x86-linux.c b/coregrind/m_syscalls/syscalls-x86-linux.c
index 74f9bb1..fd7fd3b 100644
--- a/coregrind/m_syscalls/syscalls-x86-linux.c
+++ b/coregrind/m_syscalls/syscalls-x86-linux.c
@@ -949,6 +949,7 @@
 DECL_TEMPLATE(x86_linux, sys_ipc);
 DECL_TEMPLATE(x86_linux, sys_rt_sigreturn);
 DECL_TEMPLATE(x86_linux, sys_modify_ldt);
+DECL_TEMPLATE(x86_linux, sys_set_thread_area);
 
 //zz PRE(old_select, MayBlock)
 //zz {
@@ -1192,16 +1193,16 @@
    }
 }
 
-//zz PRE(sys_set_thread_area, Special)
-//zz {
-//zz    PRINT("sys_set_thread_area ( %p )", ARG1);
-//zz    PRE_REG_READ1(int, "set_thread_area", struct user_desc *, u_info)
-//zz    PRE_MEM_READ( "set_thread_area(u_info)", ARG1, sizeof(vki_modify_ldt_t) );
-//zz 
-//zz    /* "do" the syscall ourselves; the kernel never sees it */
-//zz    SET_STATUS_( sys_set_thread_area( tid, (void *)ARG1 ) );
-//zz }
-//zz 
+PRE(sys_set_thread_area)
+{
+   PRINT("sys_set_thread_area ( %p )", ARG1);
+   PRE_REG_READ1(int, "set_thread_area", struct user_desc *, u_info)
+   PRE_MEM_READ( "set_thread_area(u_info)", ARG1, sizeof(vki_modify_ldt_t) );
+
+   /* "do" the syscall ourselves; the kernel never sees it */
+   SET_STATUS_from_SysRes( sys_set_thread_area( tid, (void *)ARG1 ) );
+}
+
 //zz PRE(sys_get_thread_area, Special)
 //zz {
 //zz    PRINT("sys_get_thread_area ( %p )", ARG1);
@@ -2204,10 +2205,10 @@
 //zz    LINX_(__NR_tkill,             sys_tkill),          // 238 */Linux
 //zz    LINXY(__NR_sendfile64,        sys_sendfile64),     // 239
 //zz 
-//zz    LINXY(__NR_futex,             sys_futex),             // 240
+   LINXY(__NR_futex,             sys_futex),             // 240
 //zz    GENX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 241
 //zz    GENXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 242
-//zz    PLAX_(__NR_set_thread_area,   sys_set_thread_area),   // 243
+   PLAX_(__NR_set_thread_area,   sys_set_thread_area),   // 243
 //zz    PLAX_(__NR_get_thread_area,   sys_get_thread_area),   // 244
 //zz 
 //zz    LINX_(__NR_io_setup,          sys_io_setup),       // 245
@@ -2225,7 +2226,7 @@
 //zz    LINX_(__NR_epoll_ctl,         sys_epoll_ctl),         // 255
 //zz    LINXY(__NR_epoll_wait,        sys_epoll_wait),        // 256
 //zz    //   (__NR_remap_file_pages,  sys_remap_file_pages),  // 257 */Linux
-//zz    GENX_(__NR_set_tid_address,   sys_set_tid_address),   // 258
+   LINX_(__NR_set_tid_address,   sys_set_tid_address),   // 258
 //zz    GENXY(__NR_timer_create,      sys_timer_create),      // 259
 //zz 
 //zz    GENXY(__NR_timer_settime,     sys_timer_settime),  // (timer_create+1)
@@ -2240,7 +2241,7 @@
 //zz    GENXY(__NR_statfs64,          sys_statfs64),       // 268
 //zz    GENXY(__NR_fstatfs64,         sys_fstatfs64),      // 269
 //zz 
-//zz    LINX_(__NR_tgkill,            sys_tgkill),         // 270 */Linux
+   LINX_(__NR_tgkill,            sys_tgkill),         // 270 */Linux
 //zz    GENX_(__NR_utimes,            sys_utimes),         // 271
 //zz    LINX_(__NR_fadvise64_64,      sys_fadvise64_64),   // 272 */(Linux?)
    GENX_(__NR_vserver,           sys_ni_syscall),     // 273