#include <sys/shm.h>
#include <semaphore.h>
#include <sys/statfs.h>
+#include <sys/utsname.h>
/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
HChar* ML_(aix5debugstuff_pc_to_fnname) ( Addr pc )
POST_MEM_WRITE(ARG2, 8);
}
+/* Note that this is used for both sys_getprocs and sys_getprocs64. I
+ think that's correct - from the man page, the calling conventions
+ look identical. */
PRE(sys_getprocs)
{
PRINT("getprocs ( %#lx, %ld, %#lx, %ld, %#lx, %ld )",
PRE(sys_uname)
{
- PRINT("uname (BOGUS HANDLER)");
+ PRINT("uname ( %#lx )", ARG1);
+ PRE_MEM_WRITE( "uname(Name)", ARG1, sizeof(struct utsname));
+}
+POST(sys_uname)
+{
+ vg_assert(SUCCESS);
+ POST_MEM_WRITE( ARG1, sizeof(struct utsname));
}
PRE(sys_unlink)
AIXXY(__NR_AIX5_gethostname, sys_gethostname),
AIXXY(__NR_AIX5_getpriv, sys_getpriv),
AIXXY(__NR_AIX5_getprocs, sys_getprocs),
+ AIXXY(__NR_AIX5_getprocs64, sys_getprocs), /* XXX: correct? */
AIXX_(__NR_AIX5_getrpid, sys_getrpid),
AIXXY(__NR_AIX5_getsockopt, sys_getsockopt),
AIXX_(__NR_AIX5_gettimerid, sys_gettimerid),
AIXX_(__NR_AIX5_thread_waitlock_, sys_thread_waitlock_),
AIXXY(__NR_AIX5_times, sys_times),
AIXX_(__NR_AIX5_umask, sys_umask),
- AIXX_(__NR_AIX5_uname, sys_uname),
+ AIXXY(__NR_AIX5_uname, sys_uname),
AIXX_(__NR_AIX5_unlink, sys_unlink),
AIXX_(__NR_AIX5_utimes, sys_utimes),
AIXXY(__NR_AIX5_vmgetinfo, sys_vmgetinfo),
AIXX_(__NR_AIX5_thread_unlock, sys_thread_unlock),
AIXX_(__NR_AIX5_thread_waitlock_, sys_thread_waitlock_),
AIXXY(__NR_AIX5_times, sys_times),
+ AIXXY(__NR_AIX5_uname, sys_uname),
AIXX_(__NR_AIX5_unlink, sys_unlink),
AIXX_(__NR_AIX5_utimes, sys_utimes),
AIXXY(__NR_AIX5_vmgetinfo, sys_vmgetinfo),