Home | History | Annotate | Download | only in coregrind
      1 
      2 /*--------------------------------------------------------------------*/
      3 /*--- Notional "implementation" for m_vkiscnums.                   ---*/
      4 /*---                                                m_vkiscnums.c ---*/
      5 /*--------------------------------------------------------------------*/
      6 
      7 /*
      8    This file is part of Valgrind, a dynamic binary instrumentation
      9    framework.
     10 
     11    Copyright (C) 2006-2010 OpenWorks LLP
     12       info (at) open-works.co.uk
     13 
     14    This program is free software; you can redistribute it and/or
     15    modify it under the terms of the GNU General Public License as
     16    published by the Free Software Foundation; either version 2 of the
     17    License, or (at your option) any later version.
     18 
     19    This program is distributed in the hope that it will be useful, but
     20    WITHOUT ANY WARRANTY; without even the implied warranty of
     21    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     22    General Public License for more details.
     23 
     24    You should have received a copy of the GNU General Public License
     25    along with this program; if not, write to the Free Software
     26    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     27    02111-1307, USA.
     28 
     29    The GNU General Public License is contained in the file COPYING.
     30 */
     31 
     32 #include "pub_core_basics.h"
     33 #include "pub_core_libcassert.h"
     34 #include "pub_core_libcprint.h"
     35 
     36 #include "pub_core_vkiscnums.h"     /* self */
     37 
     38 /* We have pub_{core,tool}_vkiscnums.h.  This is the matching implementation
     39    for that interface.
     40 
     41    On Linux, the interface exports a bunch of "#define __NR_foo 42" style
     42    definitions, so there is no implementation.
     43 
     44    On AIX, syscall numbers are not fixed ahead of time; in principle
     45    each process can have its own assignment of numbers to actual
     46    syscalls.  As a result we have a bunch of global variables to store
     47    the number for each syscall, which are assigned to at system
     48    startup, and a bunch of #defines which map "__NR_foo" names to
     49    these global variables.  Initially, when we don't know what a
     50    syscall's number is, it is set to __NR_AIX5_UNKNOWN.
     51 
     52    Therefore, on AIX, this module provides a home for those variables.
     53 
     54    It also provides VG_(aix5_register_syscall) to assign numbers to
     55    those variables.
     56 */
     57 
     58 //---------------------------------------------------------------------------
     59 #if defined(VGO_linux)
     60 //---------------------------------------------------------------------------
     61 
     62 Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
     63 {
     64    VG_(snprintf)(buf, n_buf, "%3ld", sysnum);
     65    return buf;
     66 }
     67 
     68 Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
     69 {
     70    return VG_(sysnum_string)(sysnum, n_buf, buf);
     71 }
     72 
     73 //---------------------------------------------------------------------------
     74 #elif defined(VGO_aix5)
     75 //---------------------------------------------------------------------------
     76 
     77 /* These ones are for AIX 5.2. */
     78 Int VG_(aix5_NR_utrchook_sc) = __NR_AIX5_UNKNOWN;
     79 Int VG_(aix5_NR_thread_create) = __NR_AIX5_UNKNOWN;
     80 Int VG_(aix5_NR_kfork) = __NR_AIX5_UNKNOWN;
     81 Int VG_(aix5_NR_kra_fork) = __NR_AIX5_UNKNOWN;
     82 Int VG_(aix5_NR_execve) = __NR_AIX5_UNKNOWN;
     83 Int VG_(aix5_NR_ra_execve) = __NR_AIX5_UNKNOWN;
     84 Int VG_(aix5_NR__load) = __NR_AIX5_UNKNOWN;
     85 Int VG_(aix5_NR___unload) = __NR_AIX5_UNKNOWN;
     86 Int VG_(aix5_NR_loadbind) = __NR_AIX5_UNKNOWN;
     87 Int VG_(aix5_NR___loadx) = __NR_AIX5_UNKNOWN;
     88 Int VG_(aix5_NR_bindprocessor) = __NR_AIX5_UNKNOWN;
     89 Int VG_(aix5_NR_trcgent) = __NR_AIX5_UNKNOWN;
     90 Int VG_(aix5_NR_trcgen) = __NR_AIX5_UNKNOWN;
     91 Int VG_(aix5_NR_trchk) = __NR_AIX5_UNKNOWN;
     92 Int VG_(aix5_NR_trchkt) = __NR_AIX5_UNKNOWN;
     93 Int VG_(aix5_NR_trchkl) = __NR_AIX5_UNKNOWN;
     94 Int VG_(aix5_NR_trchklt) = __NR_AIX5_UNKNOWN;
     95 Int VG_(aix5_NR_trchkg) = __NR_AIX5_UNKNOWN;
     96 Int VG_(aix5_NR_trchkgt) = __NR_AIX5_UNKNOWN;
     97 Int VG_(aix5_NR_kill) = __NR_AIX5_UNKNOWN;
     98 Int VG_(aix5_NR__addcpucosts) = __NR_AIX5_UNKNOWN;
     99 Int VG_(aix5_NR_mycpu) = __NR_AIX5_UNKNOWN;
    100 Int VG_(aix5_NR_adjtime) = __NR_AIX5_UNKNOWN;
    101 Int VG_(aix5_NR_checkpnt_block) = __NR_AIX5_UNKNOWN;
    102 Int VG_(aix5_NR__checkpnt_kill) = __NR_AIX5_UNKNOWN;
    103 Int VG_(aix5_NR__checkpnt_fail) = __NR_AIX5_UNKNOWN;
    104 Int VG_(aix5_NR__checkpnt_commit) = __NR_AIX5_UNKNOWN;
    105 Int VG_(aix5_NR__checkpnt_register) = __NR_AIX5_UNKNOWN;
    106 Int VG_(aix5_NR__checkpnt) = __NR_AIX5_UNKNOWN;
    107 Int VG_(aix5_NR_setcrid) = __NR_AIX5_UNKNOWN;
    108 Int VG_(aix5_NR_getcrid) = __NR_AIX5_UNKNOWN;
    109 Int VG_(aix5_NR_mkcrid) = __NR_AIX5_UNKNOWN;
    110 Int VG_(aix5_NR_checkpnt_wait) = __NR_AIX5_UNKNOWN;
    111 Int VG_(aix5_NR_checkpnt_deliver) = __NR_AIX5_UNKNOWN;
    112 Int VG_(aix5_NR_gencore) = __NR_AIX5_UNKNOWN;
    113 Int VG_(aix5_NR_thread_terminate) = __NR_AIX5_UNKNOWN;
    114 Int VG_(aix5_NR__exit) = __NR_AIX5_UNKNOWN;
    115 Int VG_(aix5_NR_kwaitpid64) = __NR_AIX5_UNKNOWN;
    116 Int VG_(aix5_NR_kwaitpid) = __NR_AIX5_UNKNOWN;
    117 Int VG_(aix5_NR_yield) = __NR_AIX5_UNKNOWN;
    118 Int VG_(aix5_NR_getprocs64) = __NR_AIX5_UNKNOWN;
    119 Int VG_(aix5_NR_getevars) = __NR_AIX5_UNKNOWN;
    120 Int VG_(aix5_NR_getargs) = __NR_AIX5_UNKNOWN;
    121 Int VG_(aix5_NR_getthrds64) = __NR_AIX5_UNKNOWN;
    122 Int VG_(aix5_NR_getthrds) = __NR_AIX5_UNKNOWN;
    123 Int VG_(aix5_NR_getprocs) = __NR_AIX5_UNKNOWN;
    124 Int VG_(aix5_NR_sigcleanup) = __NR_AIX5_UNKNOWN;
    125 Int VG_(aix5_NR__setpri) = __NR_AIX5_UNKNOWN;
    126 Int VG_(aix5_NR__getpri) = __NR_AIX5_UNKNOWN;
    127 Int VG_(aix5_NR_profil) = __NR_AIX5_UNKNOWN;
    128 Int VG_(aix5_NR_reboot) = __NR_AIX5_UNKNOWN;
    129 Int VG_(aix5_NR_appgetrlimit) = __NR_AIX5_UNKNOWN;
    130 Int VG_(aix5_NR_appsetrlimit) = __NR_AIX5_UNKNOWN;
    131 Int VG_(aix5_NR__setpriority) = __NR_AIX5_UNKNOWN;
    132 Int VG_(aix5_NR__getpriority) = __NR_AIX5_UNKNOWN;
    133 Int VG_(aix5_NR_setrlimit64) = __NR_AIX5_UNKNOWN;
    134 Int VG_(aix5_NR_getrlimit64) = __NR_AIX5_UNKNOWN;
    135 Int VG_(aix5_NR_appgetrusage) = __NR_AIX5_UNKNOWN;
    136 Int VG_(aix5_NR_getrusage64) = __NR_AIX5_UNKNOWN;
    137 Int VG_(aix5_NR_getvtid) = __NR_AIX5_UNKNOWN;
    138 Int VG_(aix5_NR_getrtid) = __NR_AIX5_UNKNOWN;
    139 Int VG_(aix5_NR_getrpid) = __NR_AIX5_UNKNOWN;
    140 Int VG_(aix5_NR_restart_wait) = __NR_AIX5_UNKNOWN;
    141 Int VG_(aix5_NR_restart) = __NR_AIX5_UNKNOWN;
    142 Int VG_(aix5_NR__rmcpucosts) = __NR_AIX5_UNKNOWN;
    143 Int VG_(aix5_NR__clock_getcpuclockid) = __NR_AIX5_UNKNOWN;
    144 Int VG_(aix5_NR__clock_settime) = __NR_AIX5_UNKNOWN;
    145 Int VG_(aix5_NR__clock_gettime) = __NR_AIX5_UNKNOWN;
    146 Int VG_(aix5_NR__clock_getres) = __NR_AIX5_UNKNOWN;
    147 Int VG_(aix5_NR__timer_settime) = __NR_AIX5_UNKNOWN;
    148 Int VG_(aix5_NR__timer_gettime) = __NR_AIX5_UNKNOWN;
    149 Int VG_(aix5_NR__timer_getoverrun) = __NR_AIX5_UNKNOWN;
    150 Int VG_(aix5_NR__timer_delete) = __NR_AIX5_UNKNOWN;
    151 Int VG_(aix5_NR__timer_create) = __NR_AIX5_UNKNOWN;
    152 Int VG_(aix5_NR__sigqueue) = __NR_AIX5_UNKNOWN;
    153 Int VG_(aix5_NR__sigsuspend) = __NR_AIX5_UNKNOWN;
    154 Int VG_(aix5_NR__sigaction) = __NR_AIX5_UNKNOWN;
    155 Int VG_(aix5_NR_sigprocmask) = __NR_AIX5_UNKNOWN;
    156 Int VG_(aix5_NR_siglocalmask) = __NR_AIX5_UNKNOWN;
    157 Int VG_(aix5_NR_count_event_waiters) = __NR_AIX5_UNKNOWN;
    158 Int VG_(aix5_NR_thread_waitact) = __NR_AIX5_UNKNOWN;
    159 Int VG_(aix5_NR_thread_waitlock_local) = __NR_AIX5_UNKNOWN;
    160 Int VG_(aix5_NR_thread_waitlock) = __NR_AIX5_UNKNOWN;
    161 Int VG_(aix5_NR_thread_wait) = __NR_AIX5_UNKNOWN;
    162 Int VG_(aix5_NR_thread_unlock) = __NR_AIX5_UNKNOWN;
    163 Int VG_(aix5_NR_thread_twakeup_unlock) = __NR_AIX5_UNKNOWN;
    164 Int VG_(aix5_NR_thread_twakeup_event) = __NR_AIX5_UNKNOWN;
    165 Int VG_(aix5_NR_thread_twakeup) = __NR_AIX5_UNKNOWN;
    166 Int VG_(aix5_NR_thread_tsleep_event) = __NR_AIX5_UNKNOWN;
    167 Int VG_(aix5_NR_thread_tsleep_chkpnt) = __NR_AIX5_UNKNOWN;
    168 Int VG_(aix5_NR_thread_tsleep) = __NR_AIX5_UNKNOWN;
    169 Int VG_(aix5_NR_thread_post_many) = __NR_AIX5_UNKNOWN;
    170 Int VG_(aix5_NR_thread_post) = __NR_AIX5_UNKNOWN;
    171 Int VG_(aix5_NR_ue_proc_unregister) = __NR_AIX5_UNKNOWN;
    172 Int VG_(aix5_NR_ue_proc_register) = __NR_AIX5_UNKNOWN;
    173 Int VG_(aix5_NR_kthread_ctl) = __NR_AIX5_UNKNOWN;
    174 Int VG_(aix5_NR__thread_setsched) = __NR_AIX5_UNKNOWN;
    175 Int VG_(aix5_NR_threads_runnable) = __NR_AIX5_UNKNOWN;
    176 Int VG_(aix5_NR_thread_getregs) = __NR_AIX5_UNKNOWN;
    177 Int VG_(aix5_NR_thread_terminate_unlock) = __NR_AIX5_UNKNOWN;
    178 Int VG_(aix5_NR_thread_terminate_ack) = __NR_AIX5_UNKNOWN;
    179 Int VG_(aix5_NR_thread_setstate_fast) = __NR_AIX5_UNKNOWN;
    180 Int VG_(aix5_NR_thread_setstate) = __NR_AIX5_UNKNOWN;
    181 Int VG_(aix5_NR_thread_setmymask_fast) = __NR_AIX5_UNKNOWN;
    182 Int VG_(aix5_NR_thread_setmystate_fast) = __NR_AIX5_UNKNOWN;
    183 Int VG_(aix5_NR_thread_setmystate) = __NR_AIX5_UNKNOWN;
    184 Int VG_(aix5_NR_thread_init) = __NR_AIX5_UNKNOWN;
    185 Int VG_(aix5_NR_times) = __NR_AIX5_UNKNOWN;
    186 Int VG_(aix5_NR__nsleep) = __NR_AIX5_UNKNOWN;
    187 Int VG_(aix5_NR_reltimerid) = __NR_AIX5_UNKNOWN;
    188 Int VG_(aix5_NR_appresinc) = __NR_AIX5_UNKNOWN;
    189 Int VG_(aix5_NR_apprestimer) = __NR_AIX5_UNKNOWN;
    190 Int VG_(aix5_NR_appresabs) = __NR_AIX5_UNKNOWN;
    191 Int VG_(aix5_NR_appsettimer) = __NR_AIX5_UNKNOWN;
    192 Int VG_(aix5_NR_appgettimer) = __NR_AIX5_UNKNOWN;
    193 Int VG_(aix5_NR_gettimerid) = __NR_AIX5_UNKNOWN;
    194 Int VG_(aix5_NR_incinterval) = __NR_AIX5_UNKNOWN;
    195 Int VG_(aix5_NR_absinterval) = __NR_AIX5_UNKNOWN;
    196 Int VG_(aix5_NR_getinterval) = __NR_AIX5_UNKNOWN;
    197 Int VG_(aix5_NR_upfget) = __NR_AIX5_UNKNOWN;
    198 Int VG_(aix5_NR__wlm_wait) = __NR_AIX5_UNKNOWN;
    199 Int VG_(aix5_NR__wlm_post) = __NR_AIX5_UNKNOWN;
    200 Int VG_(aix5_NR__wlm_event_init) = __NR_AIX5_UNKNOWN;
    201 Int VG_(aix5_NR__wlm_set_tag) = __NR_AIX5_UNKNOWN;
    202 Int VG_(aix5_NR__wlm_set) = __NR_AIX5_UNKNOWN;
    203 Int VG_(aix5_NR_ptrace64) = __NR_AIX5_UNKNOWN;
    204 Int VG_(aix5_NR_ptracex) = __NR_AIX5_UNKNOWN;
    205 Int VG_(aix5_NR_ptrace) = __NR_AIX5_UNKNOWN;
    206 Int VG_(aix5_NR_ksetcontext_sigreturn) = __NR_AIX5_UNKNOWN;
    207 Int VG_(aix5_NR_ksetcontext) = __NR_AIX5_UNKNOWN;
    208 Int VG_(aix5_NR_kgetcontext) = __NR_AIX5_UNKNOWN;
    209 Int VG_(aix5_NR_sigreturn) = __NR_AIX5_UNKNOWN;
    210 Int VG_(aix5_NR__wlm_get_bio_stats) = __NR_AIX5_UNKNOWN;
    211 Int VG_(aix5_NR_splice) = __NR_AIX5_UNKNOWN;
    212 Int VG_(aix5_NR_rmsock) = __NR_AIX5_UNKNOWN;
    213 Int VG_(aix5_NR_nrecvmsg) = __NR_AIX5_UNKNOWN;
    214 Int VG_(aix5_NR_socket_aio_dequeue) = __NR_AIX5_UNKNOWN;
    215 Int VG_(aix5_NR_getkerninfo) = __NR_AIX5_UNKNOWN;
    216 Int VG_(aix5_NR_getpeereid) = __NR_AIX5_UNKNOWN;
    217 Int VG_(aix5_NR_getpeername) = __NR_AIX5_UNKNOWN;
    218 Int VG_(aix5_NR_ngetpeername) = __NR_AIX5_UNKNOWN;
    219 Int VG_(aix5_NR_getsockname) = __NR_AIX5_UNKNOWN;
    220 Int VG_(aix5_NR_ngetsockname) = __NR_AIX5_UNKNOWN;
    221 Int VG_(aix5_NR_getsockopt) = __NR_AIX5_UNKNOWN;
    222 Int VG_(aix5_NR_setsockopt) = __NR_AIX5_UNKNOWN;
    223 Int VG_(aix5_NR_shutdown) = __NR_AIX5_UNKNOWN;
    224 Int VG_(aix5_NR_recvmsg) = __NR_AIX5_UNKNOWN;
    225 Int VG_(aix5_NR_recv) = __NR_AIX5_UNKNOWN;
    226 Int VG_(aix5_NR_nrecvfrom) = __NR_AIX5_UNKNOWN;
    227 Int VG_(aix5_NR_recvfrom) = __NR_AIX5_UNKNOWN;
    228 Int VG_(aix5_NR_nsendmsg) = __NR_AIX5_UNKNOWN;
    229 Int VG_(aix5_NR_sendmsg) = __NR_AIX5_UNKNOWN;
    230 Int VG_(aix5_NR_send) = __NR_AIX5_UNKNOWN;
    231 Int VG_(aix5_NR_sendto) = __NR_AIX5_UNKNOWN;
    232 Int VG_(aix5_NR_socketpair) = __NR_AIX5_UNKNOWN;
    233 Int VG_(aix5_NR_accept) = __NR_AIX5_UNKNOWN;
    234 Int VG_(aix5_NR_naccept) = __NR_AIX5_UNKNOWN;
    235 Int VG_(aix5_NR_listen) = __NR_AIX5_UNKNOWN;
    236 Int VG_(aix5_NR_bind) = __NR_AIX5_UNKNOWN;
    237 Int VG_(aix5_NR_socket) = __NR_AIX5_UNKNOWN;
    238 Int VG_(aix5_NR_connext) = __NR_AIX5_UNKNOWN;
    239 Int VG_(aix5_NR_setdomainname) = __NR_AIX5_UNKNOWN;
    240 Int VG_(aix5_NR_getdomainname) = __NR_AIX5_UNKNOWN;
    241 Int VG_(aix5_NR_sethostname) = __NR_AIX5_UNKNOWN;
    242 Int VG_(aix5_NR_sethostid) = __NR_AIX5_UNKNOWN;
    243 Int VG_(aix5_NR_gethostid) = __NR_AIX5_UNKNOWN;
    244 Int VG_(aix5_NR_gethostname) = __NR_AIX5_UNKNOWN;
    245 Int VG_(aix5_NR_send_file) = __NR_AIX5_UNKNOWN;
    246 Int VG_(aix5_NR__rmlmbcost) = __NR_AIX5_UNKNOWN;
    247 Int VG_(aix5_NR___rs_pickmcm) = __NR_AIX5_UNKNOWN;
    248 Int VG_(aix5_NR_rs_getsystem) = __NR_AIX5_UNKNOWN;
    249 Int VG_(aix5_NR_rs_getassociativity) = __NR_AIX5_UNKNOWN;
    250 Int VG_(aix5_NR_rs_setpartition) = __NR_AIX5_UNKNOWN;
    251 Int VG_(aix5_NR_rs_getpartition) = __NR_AIX5_UNKNOWN;
    252 Int VG_(aix5_NR_ra_getrset) = __NR_AIX5_UNKNOWN;
    253 Int VG_(aix5_NR_rs_getinfo) = __NR_AIX5_UNKNOWN;
    254 Int VG_(aix5_NR_rs_getrad) = __NR_AIX5_UNKNOWN;
    255 Int VG_(aix5_NR_rs_numrads) = __NR_AIX5_UNKNOWN;
    256 Int VG_(aix5_NR___kdb_format_print_rele) = __NR_AIX5_UNKNOWN;
    257 Int VG_(aix5_NR___kdb_format_print_init) = __NR_AIX5_UNKNOWN;
    258 Int VG_(aix5_NR_close) = __NR_AIX5_UNKNOWN;
    259 Int VG_(aix5_NR_kfsync_range) = __NR_AIX5_UNKNOWN;
    260 Int VG_(aix5_NR_fsync) = __NR_AIX5_UNKNOWN;
    261 Int VG_(aix5_NR_kpwrite) = __NR_AIX5_UNKNOWN;
    262 Int VG_(aix5_NR_kwritev) = __NR_AIX5_UNKNOWN;
    263 Int VG_(aix5_NR_kwrite) = __NR_AIX5_UNKNOWN;
    264 Int VG_(aix5_NR_kpread) = __NR_AIX5_UNKNOWN;
    265 Int VG_(aix5_NR_kreadv) = __NR_AIX5_UNKNOWN;
    266 Int VG_(aix5_NR_kread) = __NR_AIX5_UNKNOWN;
    267 Int VG_(aix5_NR_klseek) = __NR_AIX5_UNKNOWN;
    268 Int VG_(aix5_NR__lseek) = __NR_AIX5_UNKNOWN;
    269 Int VG_(aix5_NR_lseek) = __NR_AIX5_UNKNOWN;
    270 Int VG_(aix5_NR__setsid) = __NR_AIX5_UNKNOWN;
    271 Int VG_(aix5_NR__setpgid) = __NR_AIX5_UNKNOWN;
    272 Int VG_(aix5_NR__setpgrp) = __NR_AIX5_UNKNOWN;
    273 Int VG_(aix5_NR__getpgrpx) = __NR_AIX5_UNKNOWN;
    274 Int VG_(aix5_NR__getpgrp) = __NR_AIX5_UNKNOWN;
    275 Int VG_(aix5_NR__getppid) = __NR_AIX5_UNKNOWN;
    276 Int VG_(aix5_NR__thread_self) = __NR_AIX5_UNKNOWN;
    277 Int VG_(aix5_NR__getpid) = __NR_AIX5_UNKNOWN;
    278 Int VG_(aix5_NR_kgetpgidx) = __NR_AIX5_UNKNOWN;
    279 Int VG_(aix5_NR_setuid) = __NR_AIX5_UNKNOWN;
    280 Int VG_(aix5_NR_setuidx) = __NR_AIX5_UNKNOWN;
    281 Int VG_(aix5_NR_getuidx) = __NR_AIX5_UNKNOWN;
    282 Int VG_(aix5_NR_seteuid) = __NR_AIX5_UNKNOWN;
    283 Int VG_(aix5_NR_setreuid) = __NR_AIX5_UNKNOWN;
    284 Int VG_(aix5_NR_chdir) = __NR_AIX5_UNKNOWN;
    285 Int VG_(aix5_NR_fchdir) = __NR_AIX5_UNKNOWN;
    286 Int VG_(aix5_NR_chroot) = __NR_AIX5_UNKNOWN;
    287 Int VG_(aix5_NR_fchmod) = __NR_AIX5_UNKNOWN;
    288 Int VG_(aix5_NR_chmod) = __NR_AIX5_UNKNOWN;
    289 Int VG_(aix5_NR_chown) = __NR_AIX5_UNKNOWN;
    290 Int VG_(aix5_NR_lchown) = __NR_AIX5_UNKNOWN;
    291 Int VG_(aix5_NR_fchown) = __NR_AIX5_UNKNOWN;
    292 Int VG_(aix5_NR_fchownx) = __NR_AIX5_UNKNOWN;
    293 Int VG_(aix5_NR_chownx) = __NR_AIX5_UNKNOWN;
    294 Int VG_(aix5_NR_kfclear) = __NR_AIX5_UNKNOWN;
    295 Int VG_(aix5_NR_fclear) = __NR_AIX5_UNKNOWN;
    296 Int VG_(aix5_NR_ffinfo) = __NR_AIX5_UNKNOWN;
    297 Int VG_(aix5_NR_finfo) = __NR_AIX5_UNKNOWN;
    298 Int VG_(aix5_NR_fscntl) = __NR_AIX5_UNKNOWN;
    299 Int VG_(aix5_NR_ktruncate) = __NR_AIX5_UNKNOWN;
    300 Int VG_(aix5_NR_kftruncate) = __NR_AIX5_UNKNOWN;
    301 Int VG_(aix5_NR_truncate) = __NR_AIX5_UNKNOWN;
    302 Int VG_(aix5_NR_ftruncate) = __NR_AIX5_UNKNOWN;
    303 Int VG_(aix5_NR_getdirent64) = __NR_AIX5_UNKNOWN;
    304 Int VG_(aix5_NR_getdirent) = __NR_AIX5_UNKNOWN;
    305 Int VG_(aix5_NR_kioctl32) = __NR_AIX5_UNKNOWN;
    306 Int VG_(aix5_NR_kioctl) = __NR_AIX5_UNKNOWN;
    307 Int VG_(aix5_NR_link) = __NR_AIX5_UNKNOWN;
    308 Int VG_(aix5_NR_klockf) = __NR_AIX5_UNKNOWN;
    309 Int VG_(aix5_NR_lockf) = __NR_AIX5_UNKNOWN;
    310 Int VG_(aix5_NR_mkdir) = __NR_AIX5_UNKNOWN;
    311 Int VG_(aix5_NR_mknod) = __NR_AIX5_UNKNOWN;
    312 Int VG_(aix5_NR_mntctl) = __NR_AIX5_UNKNOWN;
    313 Int VG_(aix5_NR_vmount) = __NR_AIX5_UNKNOWN;
    314 Int VG_(aix5_NR_creat) = __NR_AIX5_UNKNOWN;
    315 Int VG_(aix5_NR_openx) = __NR_AIX5_UNKNOWN;
    316 Int VG_(aix5_NR_open) = __NR_AIX5_UNKNOWN;
    317 Int VG_(aix5_NR_quotactl) = __NR_AIX5_UNKNOWN;
    318 Int VG_(aix5_NR_rename) = __NR_AIX5_UNKNOWN;
    319 Int VG_(aix5_NR_rmdir) = __NR_AIX5_UNKNOWN;
    320 Int VG_(aix5_NR_fstatx) = __NR_AIX5_UNKNOWN;
    321 Int VG_(aix5_NR_statx) = __NR_AIX5_UNKNOWN;
    322 Int VG_(aix5_NR_symlink) = __NR_AIX5_UNKNOWN;
    323 Int VG_(aix5_NR_readlink) = __NR_AIX5_UNKNOWN;
    324 Int VG_(aix5_NR_syncvfs) = __NR_AIX5_UNKNOWN;
    325 Int VG_(aix5_NR_sync) = __NR_AIX5_UNKNOWN;
    326 Int VG_(aix5_NR_umask) = __NR_AIX5_UNKNOWN;
    327 Int VG_(aix5_NR_uvmount) = __NR_AIX5_UNKNOWN;
    328 Int VG_(aix5_NR_umount) = __NR_AIX5_UNKNOWN;
    329 Int VG_(aix5_NR_unameu) = __NR_AIX5_UNKNOWN;
    330 Int VG_(aix5_NR_unamex) = __NR_AIX5_UNKNOWN;
    331 Int VG_(aix5_NR_uname) = __NR_AIX5_UNKNOWN;
    332 Int VG_(aix5_NR_unlink) = __NR_AIX5_UNKNOWN;
    333 Int VG_(aix5_NR_ustat) = __NR_AIX5_UNKNOWN;
    334 Int VG_(aix5_NR_utimes) = __NR_AIX5_UNKNOWN;
    335 Int VG_(aix5_NR___msgxrcv) = __NR_AIX5_UNKNOWN;
    336 Int VG_(aix5_NR___msgrcv) = __NR_AIX5_UNKNOWN;
    337 Int VG_(aix5_NR___msgsnd) = __NR_AIX5_UNKNOWN;
    338 Int VG_(aix5_NR_msgctl) = __NR_AIX5_UNKNOWN;
    339 Int VG_(aix5_NR_msgget) = __NR_AIX5_UNKNOWN;
    340 Int VG_(aix5_NR_getgidx) = __NR_AIX5_UNKNOWN;
    341 Int VG_(aix5_NR___semop) = __NR_AIX5_UNKNOWN;
    342 Int VG_(aix5_NR_semget) = __NR_AIX5_UNKNOWN;
    343 Int VG_(aix5_NR_semctl) = __NR_AIX5_UNKNOWN;
    344 Int VG_(aix5_NR_shmctl) = __NR_AIX5_UNKNOWN;
    345 Int VG_(aix5_NR_shmdt) = __NR_AIX5_UNKNOWN;
    346 Int VG_(aix5_NR_shmat) = __NR_AIX5_UNKNOWN;
    347 Int VG_(aix5_NR_shmget) = __NR_AIX5_UNKNOWN;
    348 Int VG_(aix5_NR_ra_shmgetv) = __NR_AIX5_UNKNOWN;
    349 Int VG_(aix5_NR_ra_shmget) = __NR_AIX5_UNKNOWN;
    350 Int VG_(aix5_NR_privcheck) = __NR_AIX5_UNKNOWN;
    351 Int VG_(aix5_NR_disclaim) = __NR_AIX5_UNKNOWN;
    352 Int VG_(aix5_NR__sem_destroy_unnamed) = __NR_AIX5_UNKNOWN;
    353 Int VG_(aix5_NR__sem_wait) = __NR_AIX5_UNKNOWN;
    354 Int VG_(aix5_NR__sem_close) = __NR_AIX5_UNKNOWN;
    355 Int VG_(aix5_NR__sem_open) = __NR_AIX5_UNKNOWN;
    356 Int VG_(aix5_NR_sem_unlink) = __NR_AIX5_UNKNOWN;
    357 Int VG_(aix5_NR_sem_post) = __NR_AIX5_UNKNOWN;
    358 Int VG_(aix5_NR_sem_init) = __NR_AIX5_UNKNOWN;
    359 Int VG_(aix5_NR_sem_getvalue) = __NR_AIX5_UNKNOWN;
    360 Int VG_(aix5_NR_sem_destroy) = __NR_AIX5_UNKNOWN;
    361 Int VG_(aix5_NR__mq_notify) = __NR_AIX5_UNKNOWN;
    362 Int VG_(aix5_NR__mq_open) = __NR_AIX5_UNKNOWN;
    363 Int VG_(aix5_NR_mq_unlink) = __NR_AIX5_UNKNOWN;
    364 Int VG_(aix5_NR_mq_setattr) = __NR_AIX5_UNKNOWN;
    365 Int VG_(aix5_NR_mq_send) = __NR_AIX5_UNKNOWN;
    366 Int VG_(aix5_NR_mq_receive) = __NR_AIX5_UNKNOWN;
    367 Int VG_(aix5_NR_mq_getattr) = __NR_AIX5_UNKNOWN;
    368 Int VG_(aix5_NR_mq_close) = __NR_AIX5_UNKNOWN;
    369 Int VG_(aix5_NR_shm_unlink) = __NR_AIX5_UNKNOWN;
    370 Int VG_(aix5_NR_shm_open) = __NR_AIX5_UNKNOWN;
    371 Int VG_(aix5_NR__poll) = __NR_AIX5_UNKNOWN;
    372 Int VG_(aix5_NR__select) = __NR_AIX5_UNKNOWN;
    373 Int VG_(aix5_NR_sysconfig) = __NR_AIX5_UNKNOWN;
    374 Int VG_(aix5_NR_sys_parm) = __NR_AIX5_UNKNOWN;
    375 Int VG_(aix5_NR_loadquery) = __NR_AIX5_UNKNOWN;
    376 Int VG_(aix5_NR_knlist) = __NR_AIX5_UNKNOWN;
    377 Int VG_(aix5_NR_brk) = __NR_AIX5_UNKNOWN;
    378 Int VG_(aix5_NR_fjfs_sys_call) = __NR_AIX5_UNKNOWN;
    379 Int VG_(aix5_NR_jfs_sys_call) = __NR_AIX5_UNKNOWN;
    380 Int VG_(aix5_NR_acct) = __NR_AIX5_UNKNOWN;
    381 Int VG_(aix5_NR__dr_unregister) = __NR_AIX5_UNKNOWN;
    382 Int VG_(aix5_NR__dr_notify) = __NR_AIX5_UNKNOWN;
    383 Int VG_(aix5_NR__dr_register) = __NR_AIX5_UNKNOWN;
    384 Int VG_(aix5_NR_getlparload) = __NR_AIX5_UNKNOWN;
    385 Int VG_(aix5_NR_dr_reconfig) = __NR_AIX5_UNKNOWN;
    386 Int VG_(aix5_NR_projctl) = __NR_AIX5_UNKNOWN;
    387 Int VG_(aix5_NR_sbrk) = __NR_AIX5_UNKNOWN;
    388 Int VG_(aix5_NR__sigpending) = __NR_AIX5_UNKNOWN;
    389 Int VG_(aix5_NR__pause) = __NR_AIX5_UNKNOWN;
    390 Int VG_(aix5_NR_thread_kill) = __NR_AIX5_UNKNOWN;
    391 Int VG_(aix5_NR_sigstack) = __NR_AIX5_UNKNOWN;
    392 Int VG_(aix5_NR_sigaltstack) = __NR_AIX5_UNKNOWN;
    393 Int VG_(aix5_NR_appulimit) = __NR_AIX5_UNKNOWN;
    394 Int VG_(aix5_NR_ras_service) = __NR_AIX5_UNKNOWN;
    395 Int VG_(aix5_NR__wlm_class_descr2key) = __NR_AIX5_UNKNOWN;
    396 Int VG_(aix5_NR__wlm_get_procinfo) = __NR_AIX5_UNKNOWN;
    397 Int VG_(aix5_NR__wlm_get_info) = __NR_AIX5_UNKNOWN;
    398 Int VG_(aix5_NR__wlm_getclassname) = __NR_AIX5_UNKNOWN;
    399 Int VG_(aix5_NR__wlm_unload_classes) = __NR_AIX5_UNKNOWN;
    400 Int VG_(aix5_NR__wlm_load) = __NR_AIX5_UNKNOWN;
    401 Int VG_(aix5_NR__wlm_tune) = __NR_AIX5_UNKNOWN;
    402 Int VG_(aix5_NR__wlm_assign) = __NR_AIX5_UNKNOWN;
    403 Int VG_(aix5_NR__wlm_classify) = __NR_AIX5_UNKNOWN;
    404 Int VG_(aix5_NR_fp_cpusync) = __NR_AIX5_UNKNOWN;
    405 Int VG_(aix5_NR__fp_trapstate_ker) = __NR_AIX5_UNKNOWN;
    406 Int VG_(aix5_NR__ewlm_classify_correlator) = __NR_AIX5_UNKNOWN;
    407 Int VG_(aix5_NR__arm_stop_transaction) = __NR_AIX5_UNKNOWN;
    408 Int VG_(aix5_NR__arm_destroy_application) = __NR_AIX5_UNKNOWN;
    409 Int VG_(aix5_NR__arm_stop_application) = __NR_AIX5_UNKNOWN;
    410 Int VG_(aix5_NR__arm_generate_correlator) = __NR_AIX5_UNKNOWN;
    411 Int VG_(aix5_NR__arm_discard_transaction) = __NR_AIX5_UNKNOWN;
    412 Int VG_(aix5_NR__arm_unbind_thread) = __NR_AIX5_UNKNOWN;
    413 Int VG_(aix5_NR__arm_bind_thread) = __NR_AIX5_UNKNOWN;
    414 Int VG_(aix5_NR__arm_unblock_transaction) = __NR_AIX5_UNKNOWN;
    415 Int VG_(aix5_NR__arm_block_transaction) = __NR_AIX5_UNKNOWN;
    416 Int VG_(aix5_NR__arm_update_transaction) = __NR_AIX5_UNKNOWN;
    417 Int VG_(aix5_NR__arm_register_metric) = __NR_AIX5_UNKNOWN;
    418 Int VG_(aix5_NR__arm_report_transaction) = __NR_AIX5_UNKNOWN;
    419 Int VG_(aix5_NR__arm_start_transaction) = __NR_AIX5_UNKNOWN;
    420 Int VG_(aix5_NR__arm_register_transaction) = __NR_AIX5_UNKNOWN;
    421 Int VG_(aix5_NR__arm_start_application) = __NR_AIX5_UNKNOWN;
    422 Int VG_(aix5_NR__arm_register_application) = __NR_AIX5_UNKNOWN;
    423 Int VG_(aix5_NR__lsarm_getinfo) = __NR_AIX5_UNKNOWN;
    424 Int VG_(aix5_NR__ewlm_init) = __NR_AIX5_UNKNOWN;
    425 Int VG_(aix5_NR__ewlm_query) = __NR_AIX5_UNKNOWN;
    426 Int VG_(aix5_NR_ewlm_verify_policy) = __NR_AIX5_UNKNOWN;
    427 Int VG_(aix5_NR_ewlm_abort_policy) = __NR_AIX5_UNKNOWN;
    428 Int VG_(aix5_NR_ewlm_commit_policy) = __NR_AIX5_UNKNOWN;
    429 Int VG_(aix5_NR_ewlm_prepare_policy) = __NR_AIX5_UNKNOWN;
    430 Int VG_(aix5_NR_ewlm_get_completions) = __NR_AIX5_UNKNOWN;
    431 Int VG_(aix5_NR_ewlm_get_activedata) = __NR_AIX5_UNKNOWN;
    432 Int VG_(aix5_NR_ewlm_get_appldata) = __NR_AIX5_UNKNOWN;
    433 Int VG_(aix5_NR_ewlm_collect_samples) = __NR_AIX5_UNKNOWN;
    434 Int VG_(aix5_NR_ewlm_disconnect) = __NR_AIX5_UNKNOWN;
    435 Int VG_(aix5_NR_ewlm_connect) = __NR_AIX5_UNKNOWN;
    436 Int VG_(aix5_NR_auditlog) = __NR_AIX5_UNKNOWN;
    437 Int VG_(aix5_NR_auditproc) = __NR_AIX5_UNKNOWN;
    438 Int VG_(aix5_NR_getgroups) = __NR_AIX5_UNKNOWN;
    439 Int VG_(aix5_NR_setgid) = __NR_AIX5_UNKNOWN;
    440 Int VG_(aix5_NR_setgidx) = __NR_AIX5_UNKNOWN;
    441 Int VG_(aix5_NR_setgroups) = __NR_AIX5_UNKNOWN;
    442 Int VG_(aix5_NR_frevoke) = __NR_AIX5_UNKNOWN;
    443 Int VG_(aix5_NR_revoke) = __NR_AIX5_UNKNOWN;
    444 Int VG_(aix5_NR___pag_setvalue) = __NR_AIX5_UNKNOWN;
    445 Int VG_(aix5_NR___pag_getvalue) = __NR_AIX5_UNKNOWN;
    446 Int VG_(aix5_NR___pag_getid) = __NR_AIX5_UNKNOWN;
    447 Int VG_(aix5_NR___pag_getname) = __NR_AIX5_UNKNOWN;
    448 Int VG_(aix5_NR___pag_setname) = __NR_AIX5_UNKNOWN;
    449 Int VG_(aix5_NR_kcap_set_proc) = __NR_AIX5_UNKNOWN;
    450 Int VG_(aix5_NR_kcap_get_proc) = __NR_AIX5_UNKNOWN;
    451 Int VG_(aix5_NR_pipe) = __NR_AIX5_UNKNOWN;
    452 Int VG_(aix5_NR_mwakeup) = __NR_AIX5_UNKNOWN;
    453 Int VG_(aix5_NR___msleep) = __NR_AIX5_UNKNOWN;
    454 Int VG_(aix5_NR_kmmap) = __NR_AIX5_UNKNOWN;
    455 Int VG_(aix5_NR_msem_remove) = __NR_AIX5_UNKNOWN;
    456 Int VG_(aix5_NR_mincore) = __NR_AIX5_UNKNOWN;
    457 Int VG_(aix5_NR_madvise) = __NR_AIX5_UNKNOWN;
    458 Int VG_(aix5_NR_munmap) = __NR_AIX5_UNKNOWN;
    459 Int VG_(aix5_NR_msync) = __NR_AIX5_UNKNOWN;
    460 Int VG_(aix5_NR_mprotect) = __NR_AIX5_UNKNOWN;
    461 Int VG_(aix5_NR_mmap) = __NR_AIX5_UNKNOWN;
    462 Int VG_(aix5_NR_swapqry) = __NR_AIX5_UNKNOWN;
    463 Int VG_(aix5_NR_swapon) = __NR_AIX5_UNKNOWN;
    464 Int VG_(aix5_NR_swapoff) = __NR_AIX5_UNKNOWN;
    465 Int VG_(aix5_NR_psdanger) = __NR_AIX5_UNKNOWN;
    466 Int VG_(aix5_NR_vmgetinfo) = __NR_AIX5_UNKNOWN;
    467 Int VG_(aix5_NR_rs_admregistername) = __NR_AIX5_UNKNOWN;
    468 Int VG_(aix5_NR_rs_discardname) = __NR_AIX5_UNKNOWN;
    469 Int VG_(aix5_NR_rs_setnameattr) = __NR_AIX5_UNKNOWN;
    470 Int VG_(aix5_NR_rs_registername) = __NR_AIX5_UNKNOWN;
    471 Int VG_(aix5_NR_rs_getnamedrset) = __NR_AIX5_UNKNOWN;
    472 Int VG_(aix5_NR_rs_getnameattr) = __NR_AIX5_UNKNOWN;
    473 Int VG_(aix5_NR_rs_getrsetnames) = __NR_AIX5_UNKNOWN;
    474 Int VG_(aix5_NR_ra_attachrset) = __NR_AIX5_UNKNOWN;
    475 Int VG_(aix5_NR_ra_detachrset) = __NR_AIX5_UNKNOWN;
    476 Int VG_(aix5_NR_dmapi_init) = __NR_AIX5_UNKNOWN;
    477 Int VG_(aix5_NR_kdm_ioctl) = __NR_AIX5_UNKNOWN;
    478 Int VG_(aix5_NR_access) = __NR_AIX5_UNKNOWN;
    479 Int VG_(aix5_NR_accessx) = __NR_AIX5_UNKNOWN;
    480 Int VG_(aix5_NR_kfcntl) = __NR_AIX5_UNKNOWN;
    481 Int VG_(aix5_NR___pfcntl) = __NR_AIX5_UNKNOWN;
    482 Int VG_(aix5_NR_fstatfs64) = __NR_AIX5_UNKNOWN;
    483 Int VG_(aix5_NR_statfs64) = __NR_AIX5_UNKNOWN;
    484 Int VG_(aix5_NR_fstatfs) = __NR_AIX5_UNKNOWN;
    485 Int VG_(aix5_NR_statfs) = __NR_AIX5_UNKNOWN;
    486 Int VG_(aix5_NR_probe) = __NR_AIX5_UNKNOWN;
    487 Int VG_(aix5_NR_cmp_swap) = __NR_AIX5_UNKNOWN;
    488 Int VG_(aix5_NR__validate_pag) = __NR_AIX5_UNKNOWN;
    489 Int VG_(aix5_NR_kgetsidx) = __NR_AIX5_UNKNOWN;
    490 Int VG_(aix5_NR_kgetsid) = __NR_AIX5_UNKNOWN;
    491 Int VG_(aix5_NR_plock) = __NR_AIX5_UNKNOWN;
    492 Int VG_(aix5_NR_upfput) = __NR_AIX5_UNKNOWN;
    493 Int VG_(aix5_NR_usrinfo) = __NR_AIX5_UNKNOWN;
    494 Int VG_(aix5_NR_audit) = __NR_AIX5_UNKNOWN;
    495 Int VG_(aix5_NR_auditobj) = __NR_AIX5_UNKNOWN;
    496 Int VG_(aix5_NR_auditbin) = __NR_AIX5_UNKNOWN;
    497 Int VG_(aix5_NR_auditevents) = __NR_AIX5_UNKNOWN;
    498 Int VG_(aix5_NR_faccessx) = __NR_AIX5_UNKNOWN;
    499 Int VG_(aix5_NR___fchaclx) = __NR_AIX5_UNKNOWN;
    500 Int VG_(aix5_NR___chaclx) = __NR_AIX5_UNKNOWN;
    501 Int VG_(aix5_NR_fchacl) = __NR_AIX5_UNKNOWN;
    502 Int VG_(aix5_NR_chacl) = __NR_AIX5_UNKNOWN;
    503 Int VG_(aix5_NR___fstataclx) = __NR_AIX5_UNKNOWN;
    504 Int VG_(aix5_NR___stataclx) = __NR_AIX5_UNKNOWN;
    505 Int VG_(aix5_NR_fstatacl) = __NR_AIX5_UNKNOWN;
    506 Int VG_(aix5_NR_statacl) = __NR_AIX5_UNKNOWN;
    507 Int VG_(aix5_NR_setpriv) = __NR_AIX5_UNKNOWN;
    508 Int VG_(aix5_NR_getpriv) = __NR_AIX5_UNKNOWN;
    509 Int VG_(aix5_NR_fstatpriv) = __NR_AIX5_UNKNOWN;
    510 Int VG_(aix5_NR_statpriv) = __NR_AIX5_UNKNOWN;
    511 Int VG_(aix5_NR_fchpriv) = __NR_AIX5_UNKNOWN;
    512 Int VG_(aix5_NR_chpriv) = __NR_AIX5_UNKNOWN;
    513 Int VG_(aix5_NR_i_int2cpu_pal) = __NR_AIX5_UNKNOWN;
    514 Int VG_(aix5_NR_hd_cfg) = __NR_AIX5_UNKNOWN;
    515 Int VG_(aix5_NR_putpmsg) = __NR_AIX5_UNKNOWN;
    516 Int VG_(aix5_NR_putmsg) = __NR_AIX5_UNKNOWN;
    517 Int VG_(aix5_NR_getpmsg) = __NR_AIX5_UNKNOWN;
    518 Int VG_(aix5_NR_getmsg) = __NR_AIX5_UNKNOWN;
    519 Int VG_(aix5_NR_strinfo) = __NR_AIX5_UNKNOWN;
    520 Int VG_(aix5_NR_strreset) = __NR_AIX5_UNKNOWN;
    521 Int VG_(aix5_NR_dupmsg) = __NR_AIX5_UNKNOWN;
    522 Int VG_(aix5_NR__kgrantpt) = __NR_AIX5_UNKNOWN;
    523 Int VG_(aix5_NR_aixgsc) = __NR_AIX5_UNKNOWN;
    524 Int VG_(aix5_NR_smaccept) = __NR_AIX5_UNKNOWN;
    525 Int VG_(aix5_NR_smconnect) = __NR_AIX5_UNKNOWN;
    526 Int VG_(aix5_NR_smlisten) = __NR_AIX5_UNKNOWN;
    527 Int VG_(aix5_NR_smbind) = __NR_AIX5_UNKNOWN;
    528 Int VG_(aix5_NR_smsocket) = __NR_AIX5_UNKNOWN;
    529 Int VG_(aix5_NR_smdetatt) = __NR_AIX5_UNKNOWN;
    530 Int VG_(aix5_NR_smattach) = __NR_AIX5_UNKNOWN;
    531 Int VG_(aix5_NR_smselect) = __NR_AIX5_UNKNOWN;
    532 Int VG_(aix5_NR_smwait) = __NR_AIX5_UNKNOWN;
    533 Int VG_(aix5_NR_smsetthresh) = __NR_AIX5_UNKNOWN;
    534 Int VG_(aix5_NR_smsendbuff) = __NR_AIX5_UNKNOWN;
    535 Int VG_(aix5_NR_smfreebuff) = __NR_AIX5_UNKNOWN;
    536 Int VG_(aix5_NR_smrcvbuff) = __NR_AIX5_UNKNOWN;
    537 Int VG_(aix5_NR_smgetbuff) = __NR_AIX5_UNKNOWN;
    538 Int VG_(aix5_NR_smversion) = __NR_AIX5_UNKNOWN;
    539 Int VG_(aix5_NR_smtcheckinit) = __NR_AIX5_UNKNOWN;
    540 Int VG_(aix5_NR_aio_nwait_timeout) = __NR_AIX5_UNKNOWN;
    541 Int VG_(aix5_NR_kaio_stats) = __NR_AIX5_UNKNOWN;
    542 Int VG_(aix5_NR_aio_cntl) = __NR_AIX5_UNKNOWN;
    543 Int VG_(aix5_NR_listio) = __NR_AIX5_UNKNOWN;
    544 Int VG_(aix5_NR_acancel) = __NR_AIX5_UNKNOWN;
    545 Int VG_(aix5_NR_iosuspend) = __NR_AIX5_UNKNOWN;
    546 Int VG_(aix5_NR_kaio_rdwr) = __NR_AIX5_UNKNOWN;
    547 Int VG_(aix5_NR_aio_nwait) = __NR_AIX5_UNKNOWN;
    548 Int VG_(aix5_NR__posix_iofsync) = __NR_AIX5_UNKNOWN;
    549 Int VG_(aix5_NR__posix_aio_nwait_timeout) = __NR_AIX5_UNKNOWN;
    550 Int VG_(aix5_NR__posix_kaio_stats) = __NR_AIX5_UNKNOWN;
    551 Int VG_(aix5_NR__posix_listio) = __NR_AIX5_UNKNOWN;
    552 Int VG_(aix5_NR__posix_acancel) = __NR_AIX5_UNKNOWN;
    553 Int VG_(aix5_NR__posix_iosuspend) = __NR_AIX5_UNKNOWN;
    554 Int VG_(aix5_NR__posix_kaio_rdwr) = __NR_AIX5_UNKNOWN;
    555 Int VG_(aix5_NR__posix_aio_cntl) = __NR_AIX5_UNKNOWN;
    556 Int VG_(aix5_NR__posix_aio_nwait) = __NR_AIX5_UNKNOWN;
    557 Int VG_(aix5_NR_nfs_cntl) = __NR_AIX5_UNKNOWN;
    558 Int VG_(aix5_NR_nfssvc) = __NR_AIX5_UNKNOWN;
    559 Int VG_(aix5_NR_nfs_getfh) = __NR_AIX5_UNKNOWN;
    560 Int VG_(aix5_NR_exportfs) = __NR_AIX5_UNKNOWN;
    561 Int VG_(aix5_NR_lm_svc) = __NR_AIX5_UNKNOWN;
    562 Int VG_(aix5_NR_pw_config) = __NR_AIX5_UNKNOWN;
    563 Int VG_(aix5_NR_pw_post) = __NR_AIX5_UNKNOWN;
    564 Int VG_(aix5_NR_pw_wait) = __NR_AIX5_UNKNOWN;
    565 Int VG_(aix5_NR_pw_loadavg) = __NR_AIX5_UNKNOWN;
    566 Int VG_(aix5_NR_pw_debug) = __NR_AIX5_UNKNOWN;
    567 
    568 /* Extras for AIX 5.3 */
    569 Int VG_(aix5_NR___libc_sbrk) = __NR_AIX5_UNKNOWN;
    570 Int VG_(aix5_NR_thread_waitlock_) = __NR_AIX5_UNKNOWN;
    571 Int VG_(aix5_NR__fp_fpscrx_sc) = __NR_AIX5_UNKNOWN;
    572 Int VG_(aix5_NR_sched_get_priority_max) = __NR_AIX5_UNKNOWN;
    573 
    574 /* Extras for AIX 5.3 64-bit mode. */
    575 Int VG_(aix5_NR_kload) = __NR_AIX5_UNKNOWN;
    576 Int VG_(aix5_NR__fp_fpscrx64_) = __NR_AIX5_UNKNOWN;
    577 Int VG_(aix5_NR_kunload64) = __NR_AIX5_UNKNOWN;
    578 
    579 /* We need an extra fake syscall to denote signal handler returns, as
    580    used in sigframe-ppc{32,64}-aix5.c.  Since we don't know what
    581    number we can assign to it, monitor the numbers passed to
    582    VG_(aix5_register_syscall), and set it to 10000+the largest syscall
    583    nummber seen. */
    584 Int VG_(aix5_NR_FAKE_SIGRETURN) = __NR_AIX5_UNKNOWN;
    585 
    586 
    587 
    588 /* Also make a record of the registered syscalls, so we can print the
    589    name in bad_before() (syswrap-main.c) if needed.  The obvious
    590    approach would be to dump them in an XArray, but that requires
    591    dynamic memory allocation, and syscall registration is done before
    592    dynamic memory allocation is available.  So just use a fixed size
    593    array and hope it doesn't fill up. */
    594 #define N_BINDINGS 2000
    595 static Int    bindings_used = 0;
    596 static Int    bindings_sysno[N_BINDINGS];
    597 static UChar* bindings_sysname[N_BINDINGS];
    598 
    599 Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
    600 {
    601    VG_(snprintf)(buf, n_buf, "%3ld", sysnum);
    602    return buf;
    603 }
    604 
    605 Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
    606 {
    607    Int i;
    608    Char* name = "(unknown name)";
    609    for (i = 0; i < bindings_used; i++) {
    610       if (bindings_sysno[i] == sysnum) {
    611          name = bindings_sysname[i];
    612          break;
    613       }
    614    }
    615    VG_(snprintf)(buf, n_buf, "%3ld (%s)", sysnum, name);
    616    return buf;
    617 }
    618 
    619 static Bool local_streq ( UChar* s1, UChar* s2 ); /* fwds */
    620 
    621 Bool VG_(aix5_register_syscall)( Int sysno, UChar* sysname )
    622 {
    623    /* Establish the FAKE_SIGRETURN number. */
    624    if (VG_(aix5_NR_FAKE_SIGRETURN) == __NR_AIX5_UNKNOWN)
    625       VG_(aix5_NR_FAKE_SIGRETURN) = sysno + 10000;
    626    else
    627    if (sysno + 10000 > VG_(aix5_NR_FAKE_SIGRETURN))
    628       VG_(aix5_NR_FAKE_SIGRETURN) = sysno + 10000;
    629 
    630    /* Note the name, just in case bad_before() needs to complain. */
    631    if (bindings_used < N_BINDINGS) {
    632       bindings_sysno[bindings_used] = sysno;
    633       bindings_sysname[bindings_used] = sysname;
    634       bindings_used++;
    635    }
    636 
    637    /* Now do the normal name-to-number binding checks. */
    638 #  define XXX(name)                            \
    639       if (local_streq(sysname, #name)) {       \
    640          VG_(aix5_NR_##name) = sysno;          \
    641          return True;                          \
    642       }
    643    /* AIX 5.2 */
    644    XXX(utrchook_sc)
    645    XXX(thread_create)
    646    XXX(kfork)
    647    XXX(kra_fork)
    648    XXX(execve)
    649    XXX(ra_execve)
    650    XXX(_load)
    651    XXX(__unload)
    652    XXX(loadbind)
    653    XXX(__loadx)
    654    XXX(bindprocessor)
    655    XXX(trcgent)
    656    XXX(trcgen)
    657    XXX(trchk)
    658    XXX(trchkt)
    659    XXX(trchkl)
    660    XXX(trchklt)
    661    XXX(trchkg)
    662    XXX(trchkgt)
    663    XXX(kill)
    664    XXX(_addcpucosts)
    665    XXX(mycpu)
    666    XXX(adjtime)
    667    XXX(checkpnt_block)
    668    XXX(_checkpnt_kill)
    669    XXX(_checkpnt_fail)
    670    XXX(_checkpnt_commit)
    671    XXX(_checkpnt_register)
    672    XXX(_checkpnt)
    673    XXX(setcrid)
    674    XXX(getcrid)
    675    XXX(mkcrid)
    676    XXX(checkpnt_wait)
    677    XXX(checkpnt_deliver)
    678    XXX(gencore)
    679    XXX(thread_terminate)
    680    XXX(_exit)
    681    XXX(kwaitpid64)
    682    XXX(kwaitpid)
    683    XXX(yield)
    684    XXX(getprocs64)
    685    XXX(getevars)
    686    XXX(getargs)
    687    XXX(getthrds64)
    688    XXX(getthrds)
    689    XXX(getprocs)
    690    XXX(sigcleanup)
    691    XXX(_setpri)
    692    XXX(_getpri)
    693    XXX(profil)
    694    XXX(reboot)
    695    XXX(appgetrlimit)
    696    XXX(appsetrlimit)
    697    XXX(_setpriority)
    698    XXX(_getpriority)
    699    XXX(setrlimit64)
    700    XXX(getrlimit64)
    701    XXX(appgetrusage)
    702    XXX(getrusage64)
    703    XXX(getvtid)
    704    XXX(getrtid)
    705    XXX(getrpid)
    706    XXX(restart_wait)
    707    XXX(restart)
    708    XXX(_rmcpucosts)
    709    XXX(_clock_getcpuclockid)
    710    XXX(_clock_settime)
    711    XXX(_clock_gettime)
    712    XXX(_clock_getres)
    713    XXX(_timer_settime)
    714    XXX(_timer_gettime)
    715    XXX(_timer_getoverrun)
    716    XXX(_timer_delete)
    717    XXX(_timer_create)
    718    XXX(_sigqueue)
    719    XXX(_sigsuspend)
    720    XXX(_sigaction)
    721    XXX(sigprocmask)
    722    XXX(siglocalmask)
    723    XXX(count_event_waiters)
    724    XXX(thread_waitact)
    725    XXX(thread_waitlock_local)
    726    XXX(thread_waitlock)
    727    XXX(thread_wait)
    728    XXX(thread_unlock)
    729    XXX(thread_twakeup_unlock)
    730    XXX(thread_twakeup_event)
    731    XXX(thread_twakeup)
    732    XXX(thread_tsleep_event)
    733    XXX(thread_tsleep_chkpnt)
    734    XXX(thread_tsleep)
    735    XXX(thread_post_many)
    736    XXX(thread_post)
    737    XXX(ue_proc_unregister)
    738    XXX(ue_proc_register)
    739    XXX(kthread_ctl)
    740    XXX(_thread_setsched)
    741    XXX(threads_runnable)
    742    XXX(thread_getregs)
    743    XXX(thread_terminate_unlock)
    744    XXX(thread_terminate_ack)
    745    XXX(thread_setstate_fast)
    746    XXX(thread_setstate)
    747    XXX(thread_setmymask_fast)
    748    XXX(thread_setmystate_fast)
    749    XXX(thread_setmystate)
    750    XXX(thread_init)
    751    XXX(times)
    752    XXX(_nsleep)
    753    XXX(reltimerid)
    754    XXX(appresinc)
    755    XXX(apprestimer)
    756    XXX(appresabs)
    757    XXX(appsettimer)
    758    XXX(appgettimer)
    759    XXX(gettimerid)
    760    XXX(incinterval)
    761    XXX(absinterval)
    762    XXX(getinterval)
    763    XXX(upfget)
    764    XXX(_wlm_wait)
    765    XXX(_wlm_post)
    766    XXX(_wlm_event_init)
    767    XXX(_wlm_set_tag)
    768    XXX(_wlm_set)
    769    XXX(ptrace64)
    770    XXX(ptracex)
    771    XXX(ptrace)
    772    XXX(ksetcontext_sigreturn)
    773    XXX(ksetcontext)
    774    XXX(kgetcontext)
    775    XXX(sigreturn)
    776    XXX(_wlm_get_bio_stats)
    777    XXX(splice)
    778    XXX(rmsock)
    779    XXX(nrecvmsg)
    780    XXX(socket_aio_dequeue)
    781    XXX(getkerninfo)
    782    XXX(getpeereid)
    783    XXX(getpeername)
    784    XXX(ngetpeername)
    785    XXX(getsockname)
    786    XXX(ngetsockname)
    787    XXX(getsockopt)
    788    XXX(setsockopt)
    789    XXX(shutdown)
    790    XXX(recvmsg)
    791    XXX(recv)
    792    XXX(nrecvfrom)
    793    XXX(recvfrom)
    794    XXX(nsendmsg)
    795    XXX(sendmsg)
    796    XXX(send)
    797    XXX(sendto)
    798    XXX(socketpair)
    799    XXX(accept)
    800    XXX(naccept)
    801    XXX(listen)
    802    XXX(bind)
    803    XXX(socket)
    804    XXX(connext)
    805    XXX(setdomainname)
    806    XXX(getdomainname)
    807    XXX(sethostname)
    808    XXX(sethostid)
    809    XXX(gethostid)
    810    XXX(gethostname)
    811    XXX(send_file)
    812    XXX(_rmlmbcost)
    813    XXX(__rs_pickmcm)
    814    XXX(rs_getsystem)
    815    XXX(rs_getassociativity)
    816    XXX(rs_setpartition)
    817    XXX(rs_getpartition)
    818    XXX(ra_getrset)
    819    XXX(rs_getinfo)
    820    XXX(rs_getrad)
    821    XXX(rs_numrads)
    822    XXX(__kdb_format_print_rele)
    823    XXX(__kdb_format_print_init)
    824    XXX(close)
    825    XXX(kfsync_range)
    826    XXX(fsync)
    827    XXX(kpwrite)
    828    XXX(kwritev)
    829    XXX(kwrite)
    830    XXX(kpread)
    831    XXX(kreadv)
    832    XXX(kread)
    833    XXX(klseek)
    834    XXX(_lseek)
    835    XXX(lseek)
    836    XXX(_setsid)
    837    XXX(_setpgid)
    838    XXX(_setpgrp)
    839    XXX(_getpgrpx)
    840    XXX(_getpgrp)
    841    XXX(_getppid)
    842    XXX(_thread_self)
    843    XXX(_getpid)
    844    XXX(kgetpgidx)
    845    XXX(setuid)
    846    XXX(setuidx)
    847    XXX(getuidx)
    848    XXX(seteuid)
    849    XXX(setreuid)
    850    XXX(chdir)
    851    XXX(fchdir)
    852    XXX(chroot)
    853    XXX(fchmod)
    854    XXX(chmod)
    855    XXX(chown)
    856    XXX(lchown)
    857    XXX(fchown)
    858    XXX(fchownx)
    859    XXX(chownx)
    860    XXX(kfclear)
    861    XXX(fclear)
    862    XXX(ffinfo)
    863    XXX(finfo)
    864    XXX(fscntl)
    865    XXX(ktruncate)
    866    XXX(kftruncate)
    867    XXX(truncate)
    868    XXX(ftruncate)
    869    XXX(getdirent64)
    870    XXX(getdirent)
    871    XXX(kioctl32)
    872    XXX(kioctl)
    873    XXX(link)
    874    XXX(klockf)
    875    XXX(lockf)
    876    XXX(mkdir)
    877    XXX(mknod)
    878    XXX(mntctl)
    879    XXX(vmount)
    880    XXX(creat)
    881    XXX(openx)
    882    XXX(open)
    883    XXX(quotactl)
    884    XXX(rename)
    885    XXX(rmdir)
    886    XXX(fstatx)
    887    XXX(statx)
    888    XXX(symlink)
    889    XXX(readlink)
    890    XXX(syncvfs)
    891    XXX(sync)
    892    XXX(umask)
    893    XXX(uvmount)
    894    XXX(umount)
    895    XXX(unameu)
    896    XXX(unamex)
    897    XXX(uname)
    898    XXX(unlink)
    899    XXX(ustat)
    900    XXX(utimes)
    901    XXX(__msgxrcv)
    902    XXX(__msgrcv)
    903    XXX(__msgsnd)
    904    XXX(msgctl)
    905    XXX(msgget)
    906    XXX(getgidx)
    907    XXX(__semop)
    908    XXX(semget)
    909    XXX(semctl)
    910    XXX(shmctl)
    911    XXX(shmdt)
    912    XXX(shmat)
    913    XXX(shmget)
    914    XXX(ra_shmgetv)
    915    XXX(ra_shmget)
    916    XXX(privcheck)
    917    XXX(disclaim)
    918    XXX(_sem_destroy_unnamed)
    919    XXX(_sem_wait)
    920    XXX(_sem_close)
    921    XXX(_sem_open)
    922    XXX(sem_unlink)
    923    XXX(sem_post)
    924    XXX(sem_init)
    925    XXX(sem_getvalue)
    926    XXX(sem_destroy)
    927    XXX(_mq_notify)
    928    XXX(_mq_open)
    929    XXX(mq_unlink)
    930    XXX(mq_setattr)
    931    XXX(mq_send)
    932    XXX(mq_receive)
    933    XXX(mq_getattr)
    934    XXX(mq_close)
    935    XXX(shm_unlink)
    936    XXX(shm_open)
    937    XXX(_poll)
    938    XXX(_select)
    939    XXX(sysconfig)
    940    XXX(sys_parm)
    941    XXX(loadquery)
    942    XXX(knlist)
    943    XXX(brk)
    944    XXX(fjfs_sys_call)
    945    XXX(jfs_sys_call)
    946    XXX(acct)
    947    XXX(_dr_unregister)
    948    XXX(_dr_notify)
    949    XXX(_dr_register)
    950    XXX(getlparload)
    951    XXX(dr_reconfig)
    952    XXX(projctl)
    953    XXX(sbrk)
    954    XXX(_sigpending)
    955    XXX(_pause)
    956    XXX(thread_kill)
    957    XXX(sigstack)
    958    XXX(sigaltstack)
    959    XXX(appulimit)
    960    XXX(ras_service)
    961    XXX(_wlm_class_descr2key)
    962    XXX(_wlm_get_procinfo)
    963    XXX(_wlm_get_info)
    964    XXX(_wlm_getclassname)
    965    XXX(_wlm_unload_classes)
    966    XXX(_wlm_load)
    967    XXX(_wlm_tune)
    968    XXX(_wlm_assign)
    969    XXX(_wlm_classify)
    970    XXX(fp_cpusync)
    971    XXX(_fp_trapstate_ker)
    972    XXX(_ewlm_classify_correlator)
    973    XXX(_arm_stop_transaction)
    974    XXX(_arm_destroy_application)
    975    XXX(_arm_stop_application)
    976    XXX(_arm_generate_correlator)
    977    XXX(_arm_discard_transaction)
    978    XXX(_arm_unbind_thread)
    979    XXX(_arm_bind_thread)
    980    XXX(_arm_unblock_transaction)
    981    XXX(_arm_block_transaction)
    982    XXX(_arm_update_transaction)
    983    XXX(_arm_register_metric)
    984    XXX(_arm_report_transaction)
    985    XXX(_arm_start_transaction)
    986    XXX(_arm_register_transaction)
    987    XXX(_arm_start_application)
    988    XXX(_arm_register_application)
    989    XXX(_lsarm_getinfo)
    990    XXX(_ewlm_init)
    991    XXX(_ewlm_query)
    992    XXX(ewlm_verify_policy)
    993    XXX(ewlm_abort_policy)
    994    XXX(ewlm_commit_policy)
    995    XXX(ewlm_prepare_policy)
    996    XXX(ewlm_get_completions)
    997    XXX(ewlm_get_activedata)
    998    XXX(ewlm_get_appldata)
    999    XXX(ewlm_collect_samples)
   1000    XXX(ewlm_disconnect)
   1001    XXX(ewlm_connect)
   1002    XXX(auditlog)
   1003    XXX(auditproc)
   1004    XXX(getgroups)
   1005    XXX(setgid)
   1006    XXX(setgidx)
   1007    XXX(setgroups)
   1008    XXX(frevoke)
   1009    XXX(revoke)
   1010    XXX(__pag_setvalue)
   1011    XXX(__pag_getvalue)
   1012    XXX(__pag_getid)
   1013    XXX(__pag_getname)
   1014    XXX(__pag_setname)
   1015    XXX(kcap_set_proc)
   1016    XXX(kcap_get_proc)
   1017    XXX(pipe)
   1018    XXX(mwakeup)
   1019    XXX(__msleep)
   1020    XXX(kmmap)
   1021    XXX(msem_remove)
   1022    XXX(mincore)
   1023    XXX(madvise)
   1024    XXX(munmap)
   1025    XXX(msync)
   1026    XXX(mprotect)
   1027    XXX(mmap)
   1028    XXX(swapqry)
   1029    XXX(swapon)
   1030    XXX(swapoff)
   1031    XXX(psdanger)
   1032    XXX(vmgetinfo)
   1033    XXX(rs_admregistername)
   1034    XXX(rs_discardname)
   1035    XXX(rs_setnameattr)
   1036    XXX(rs_registername)
   1037    XXX(rs_getnamedrset)
   1038    XXX(rs_getnameattr)
   1039    XXX(rs_getrsetnames)
   1040    XXX(ra_attachrset)
   1041    XXX(ra_detachrset)
   1042    XXX(dmapi_init)
   1043    XXX(kdm_ioctl)
   1044    XXX(access)
   1045    XXX(accessx)
   1046    XXX(kfcntl)
   1047    XXX(__pfcntl)
   1048    XXX(fstatfs64)
   1049    XXX(statfs64)
   1050    XXX(fstatfs)
   1051    XXX(statfs)
   1052    XXX(probe)
   1053    XXX(cmp_swap)
   1054    XXX(_validate_pag)
   1055    XXX(kgetsidx)
   1056    XXX(kgetsid)
   1057    XXX(plock)
   1058    XXX(upfput)
   1059    XXX(usrinfo)
   1060    XXX(audit)
   1061    XXX(auditobj)
   1062    XXX(auditbin)
   1063    XXX(auditevents)
   1064    XXX(faccessx)
   1065    XXX(__fchaclx)
   1066    XXX(__chaclx)
   1067    XXX(fchacl)
   1068    XXX(chacl)
   1069    XXX(__fstataclx)
   1070    XXX(__stataclx)
   1071    XXX(fstatacl)
   1072    XXX(statacl)
   1073    XXX(setpriv)
   1074    XXX(getpriv)
   1075    XXX(fstatpriv)
   1076    XXX(statpriv)
   1077    XXX(fchpriv)
   1078    XXX(chpriv)
   1079    XXX(i_int2cpu_pal)
   1080    XXX(hd_cfg)
   1081    XXX(putpmsg)
   1082    XXX(putmsg)
   1083    XXX(getpmsg)
   1084    XXX(getmsg)
   1085    XXX(strinfo)
   1086    XXX(strreset)
   1087    XXX(dupmsg)
   1088    XXX(_kgrantpt)
   1089    XXX(aixgsc)
   1090    XXX(smaccept)
   1091    XXX(smconnect)
   1092    XXX(smlisten)
   1093    XXX(smbind)
   1094    XXX(smsocket)
   1095    XXX(smdetatt)
   1096    XXX(smattach)
   1097    XXX(smselect)
   1098    XXX(smwait)
   1099    XXX(smsetthresh)
   1100    XXX(smsendbuff)
   1101    XXX(smfreebuff)
   1102    XXX(smrcvbuff)
   1103    XXX(smgetbuff)
   1104    XXX(smversion)
   1105    XXX(smtcheckinit)
   1106    XXX(aio_nwait_timeout)
   1107    XXX(kaio_stats)
   1108    XXX(aio_cntl)
   1109    XXX(listio)
   1110    XXX(acancel)
   1111    XXX(iosuspend)
   1112    XXX(kaio_rdwr)
   1113    XXX(aio_nwait)
   1114    XXX(_posix_iofsync)
   1115    XXX(_posix_aio_nwait_timeout)
   1116    XXX(_posix_kaio_stats)
   1117    XXX(_posix_listio)
   1118    XXX(_posix_acancel)
   1119    XXX(_posix_iosuspend)
   1120    XXX(_posix_kaio_rdwr)
   1121    XXX(_posix_aio_cntl)
   1122    XXX(_posix_aio_nwait)
   1123    XXX(nfs_cntl)
   1124    XXX(nfssvc)
   1125    XXX(nfs_getfh)
   1126    XXX(exportfs)
   1127    XXX(lm_svc)
   1128    XXX(pw_config)
   1129    XXX(pw_post)
   1130    XXX(pw_wait)
   1131    XXX(pw_loadavg)
   1132    XXX(pw_debug)
   1133    /* Extras for AIX 5.3 */
   1134    XXX(__libc_sbrk)
   1135    XXX(thread_waitlock_)
   1136    XXX(_fp_fpscrx_sc)
   1137    XXX(sched_get_priority_max)
   1138    /* Extras for AIX 5.3 64-bit */
   1139    XXX(kload)
   1140    XXX(_fp_fpscrx64_)
   1141    XXX(kunload64)
   1142 #  undef XXX
   1143    return False;
   1144 }
   1145 
   1146 
   1147 static Bool local_streq ( UChar* s1, UChar* s2 )
   1148 {
   1149    while (True) {
   1150       if (*s1 == 0 && *s2 == 0) return True;
   1151       if (*s1 == 0) return False;
   1152       if (*s2 == 0) return False;
   1153       if (*s1 != *s2) return False;
   1154       s1++; s2++;
   1155    }
   1156 }
   1157 
   1158 //---------------------------------------------------------------------------
   1159 #elif defined(VGO_darwin)
   1160 //---------------------------------------------------------------------------
   1161 
   1162 Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
   1163 {
   1164    Char* classname = NULL;
   1165    switch (VG_DARWIN_SYSNO_CLASS(sysnum)) {
   1166       case VG_DARWIN_SYSCALL_CLASS_MACH: classname = "mach"; break;
   1167       case VG_DARWIN_SYSCALL_CLASS_UNIX: classname = "unix"; break;
   1168       case VG_DARWIN_SYSCALL_CLASS_MDEP: classname = "mdep"; break;
   1169       case VG_DARWIN_SYSCALL_CLASS_DIAG: classname = "diag"; break;
   1170       default: classname = "UNKNOWN"; break;
   1171    }
   1172    VG_(snprintf)(buf, n_buf, "%s:%3ld",
   1173                              classname, VG_DARWIN_SYSNO_INDEX(sysnum));
   1174    return buf;
   1175 }
   1176 
   1177 Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
   1178 {
   1179    return VG_(sysnum_string)(sysnum, n_buf, buf);
   1180 }
   1181 
   1182 //---------------------------------------------------------------------------
   1183 #else
   1184 //---------------------------------------------------------------------------
   1185 #  error Unknown OS
   1186 #endif
   1187 
   1188 /*--------------------------------------------------------------------*/
   1189 /*--- end                                                          ---*/
   1190 /*--------------------------------------------------------------------*/
   1191