blob: 2cecf2c5a1def4419c989786ec1a48d717699079 [file] [log] [blame]
sewardjad833942006-10-14 19:34:11 +00001
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
sewardj9eecbbb2010-05-03 21:37:12 +000011 Copyright (C) 2006-2010 OpenWorks LLP
sewardjad833942006-10-14 19:34:11 +000012 info@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"
njn1a1e95c2009-06-03 06:50:06 +000033#include "pub_core_libcassert.h"
34#include "pub_core_libcprint.h"
35
sewardjad833942006-10-14 19:34:11 +000036#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
njn1a1e95c2009-06-03 06:50:06 +000058//---------------------------------------------------------------------------
59#if defined(VGO_linux)
60//---------------------------------------------------------------------------
61
62Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
63{
64 VG_(snprintf)(buf, n_buf, "%3ld", sysnum);
65 return buf;
66}
67
68Char* 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
sewardjad833942006-10-14 19:34:11 +000077/* These ones are for AIX 5.2. */
78Int VG_(aix5_NR_utrchook_sc) = __NR_AIX5_UNKNOWN;
79Int VG_(aix5_NR_thread_create) = __NR_AIX5_UNKNOWN;
80Int VG_(aix5_NR_kfork) = __NR_AIX5_UNKNOWN;
81Int VG_(aix5_NR_kra_fork) = __NR_AIX5_UNKNOWN;
82Int VG_(aix5_NR_execve) = __NR_AIX5_UNKNOWN;
83Int VG_(aix5_NR_ra_execve) = __NR_AIX5_UNKNOWN;
84Int VG_(aix5_NR__load) = __NR_AIX5_UNKNOWN;
85Int VG_(aix5_NR___unload) = __NR_AIX5_UNKNOWN;
86Int VG_(aix5_NR_loadbind) = __NR_AIX5_UNKNOWN;
87Int VG_(aix5_NR___loadx) = __NR_AIX5_UNKNOWN;
88Int VG_(aix5_NR_bindprocessor) = __NR_AIX5_UNKNOWN;
89Int VG_(aix5_NR_trcgent) = __NR_AIX5_UNKNOWN;
90Int VG_(aix5_NR_trcgen) = __NR_AIX5_UNKNOWN;
91Int VG_(aix5_NR_trchk) = __NR_AIX5_UNKNOWN;
92Int VG_(aix5_NR_trchkt) = __NR_AIX5_UNKNOWN;
93Int VG_(aix5_NR_trchkl) = __NR_AIX5_UNKNOWN;
94Int VG_(aix5_NR_trchklt) = __NR_AIX5_UNKNOWN;
95Int VG_(aix5_NR_trchkg) = __NR_AIX5_UNKNOWN;
96Int VG_(aix5_NR_trchkgt) = __NR_AIX5_UNKNOWN;
97Int VG_(aix5_NR_kill) = __NR_AIX5_UNKNOWN;
98Int VG_(aix5_NR__addcpucosts) = __NR_AIX5_UNKNOWN;
99Int VG_(aix5_NR_mycpu) = __NR_AIX5_UNKNOWN;
100Int VG_(aix5_NR_adjtime) = __NR_AIX5_UNKNOWN;
101Int VG_(aix5_NR_checkpnt_block) = __NR_AIX5_UNKNOWN;
102Int VG_(aix5_NR__checkpnt_kill) = __NR_AIX5_UNKNOWN;
103Int VG_(aix5_NR__checkpnt_fail) = __NR_AIX5_UNKNOWN;
104Int VG_(aix5_NR__checkpnt_commit) = __NR_AIX5_UNKNOWN;
105Int VG_(aix5_NR__checkpnt_register) = __NR_AIX5_UNKNOWN;
106Int VG_(aix5_NR__checkpnt) = __NR_AIX5_UNKNOWN;
107Int VG_(aix5_NR_setcrid) = __NR_AIX5_UNKNOWN;
108Int VG_(aix5_NR_getcrid) = __NR_AIX5_UNKNOWN;
109Int VG_(aix5_NR_mkcrid) = __NR_AIX5_UNKNOWN;
110Int VG_(aix5_NR_checkpnt_wait) = __NR_AIX5_UNKNOWN;
111Int VG_(aix5_NR_checkpnt_deliver) = __NR_AIX5_UNKNOWN;
112Int VG_(aix5_NR_gencore) = __NR_AIX5_UNKNOWN;
113Int VG_(aix5_NR_thread_terminate) = __NR_AIX5_UNKNOWN;
114Int VG_(aix5_NR__exit) = __NR_AIX5_UNKNOWN;
115Int VG_(aix5_NR_kwaitpid64) = __NR_AIX5_UNKNOWN;
116Int VG_(aix5_NR_kwaitpid) = __NR_AIX5_UNKNOWN;
117Int VG_(aix5_NR_yield) = __NR_AIX5_UNKNOWN;
118Int VG_(aix5_NR_getprocs64) = __NR_AIX5_UNKNOWN;
119Int VG_(aix5_NR_getevars) = __NR_AIX5_UNKNOWN;
120Int VG_(aix5_NR_getargs) = __NR_AIX5_UNKNOWN;
121Int VG_(aix5_NR_getthrds64) = __NR_AIX5_UNKNOWN;
122Int VG_(aix5_NR_getthrds) = __NR_AIX5_UNKNOWN;
123Int VG_(aix5_NR_getprocs) = __NR_AIX5_UNKNOWN;
124Int VG_(aix5_NR_sigcleanup) = __NR_AIX5_UNKNOWN;
125Int VG_(aix5_NR__setpri) = __NR_AIX5_UNKNOWN;
126Int VG_(aix5_NR__getpri) = __NR_AIX5_UNKNOWN;
127Int VG_(aix5_NR_profil) = __NR_AIX5_UNKNOWN;
128Int VG_(aix5_NR_reboot) = __NR_AIX5_UNKNOWN;
129Int VG_(aix5_NR_appgetrlimit) = __NR_AIX5_UNKNOWN;
130Int VG_(aix5_NR_appsetrlimit) = __NR_AIX5_UNKNOWN;
131Int VG_(aix5_NR__setpriority) = __NR_AIX5_UNKNOWN;
132Int VG_(aix5_NR__getpriority) = __NR_AIX5_UNKNOWN;
133Int VG_(aix5_NR_setrlimit64) = __NR_AIX5_UNKNOWN;
134Int VG_(aix5_NR_getrlimit64) = __NR_AIX5_UNKNOWN;
135Int VG_(aix5_NR_appgetrusage) = __NR_AIX5_UNKNOWN;
136Int VG_(aix5_NR_getrusage64) = __NR_AIX5_UNKNOWN;
137Int VG_(aix5_NR_getvtid) = __NR_AIX5_UNKNOWN;
138Int VG_(aix5_NR_getrtid) = __NR_AIX5_UNKNOWN;
139Int VG_(aix5_NR_getrpid) = __NR_AIX5_UNKNOWN;
140Int VG_(aix5_NR_restart_wait) = __NR_AIX5_UNKNOWN;
141Int VG_(aix5_NR_restart) = __NR_AIX5_UNKNOWN;
142Int VG_(aix5_NR__rmcpucosts) = __NR_AIX5_UNKNOWN;
143Int VG_(aix5_NR__clock_getcpuclockid) = __NR_AIX5_UNKNOWN;
144Int VG_(aix5_NR__clock_settime) = __NR_AIX5_UNKNOWN;
145Int VG_(aix5_NR__clock_gettime) = __NR_AIX5_UNKNOWN;
146Int VG_(aix5_NR__clock_getres) = __NR_AIX5_UNKNOWN;
147Int VG_(aix5_NR__timer_settime) = __NR_AIX5_UNKNOWN;
148Int VG_(aix5_NR__timer_gettime) = __NR_AIX5_UNKNOWN;
149Int VG_(aix5_NR__timer_getoverrun) = __NR_AIX5_UNKNOWN;
150Int VG_(aix5_NR__timer_delete) = __NR_AIX5_UNKNOWN;
151Int VG_(aix5_NR__timer_create) = __NR_AIX5_UNKNOWN;
152Int VG_(aix5_NR__sigqueue) = __NR_AIX5_UNKNOWN;
153Int VG_(aix5_NR__sigsuspend) = __NR_AIX5_UNKNOWN;
154Int VG_(aix5_NR__sigaction) = __NR_AIX5_UNKNOWN;
155Int VG_(aix5_NR_sigprocmask) = __NR_AIX5_UNKNOWN;
156Int VG_(aix5_NR_siglocalmask) = __NR_AIX5_UNKNOWN;
157Int VG_(aix5_NR_count_event_waiters) = __NR_AIX5_UNKNOWN;
158Int VG_(aix5_NR_thread_waitact) = __NR_AIX5_UNKNOWN;
159Int VG_(aix5_NR_thread_waitlock_local) = __NR_AIX5_UNKNOWN;
160Int VG_(aix5_NR_thread_waitlock) = __NR_AIX5_UNKNOWN;
161Int VG_(aix5_NR_thread_wait) = __NR_AIX5_UNKNOWN;
162Int VG_(aix5_NR_thread_unlock) = __NR_AIX5_UNKNOWN;
163Int VG_(aix5_NR_thread_twakeup_unlock) = __NR_AIX5_UNKNOWN;
164Int VG_(aix5_NR_thread_twakeup_event) = __NR_AIX5_UNKNOWN;
165Int VG_(aix5_NR_thread_twakeup) = __NR_AIX5_UNKNOWN;
166Int VG_(aix5_NR_thread_tsleep_event) = __NR_AIX5_UNKNOWN;
167Int VG_(aix5_NR_thread_tsleep_chkpnt) = __NR_AIX5_UNKNOWN;
168Int VG_(aix5_NR_thread_tsleep) = __NR_AIX5_UNKNOWN;
169Int VG_(aix5_NR_thread_post_many) = __NR_AIX5_UNKNOWN;
170Int VG_(aix5_NR_thread_post) = __NR_AIX5_UNKNOWN;
171Int VG_(aix5_NR_ue_proc_unregister) = __NR_AIX5_UNKNOWN;
172Int VG_(aix5_NR_ue_proc_register) = __NR_AIX5_UNKNOWN;
173Int VG_(aix5_NR_kthread_ctl) = __NR_AIX5_UNKNOWN;
174Int VG_(aix5_NR__thread_setsched) = __NR_AIX5_UNKNOWN;
175Int VG_(aix5_NR_threads_runnable) = __NR_AIX5_UNKNOWN;
176Int VG_(aix5_NR_thread_getregs) = __NR_AIX5_UNKNOWN;
177Int VG_(aix5_NR_thread_terminate_unlock) = __NR_AIX5_UNKNOWN;
178Int VG_(aix5_NR_thread_terminate_ack) = __NR_AIX5_UNKNOWN;
179Int VG_(aix5_NR_thread_setstate_fast) = __NR_AIX5_UNKNOWN;
180Int VG_(aix5_NR_thread_setstate) = __NR_AIX5_UNKNOWN;
181Int VG_(aix5_NR_thread_setmymask_fast) = __NR_AIX5_UNKNOWN;
182Int VG_(aix5_NR_thread_setmystate_fast) = __NR_AIX5_UNKNOWN;
183Int VG_(aix5_NR_thread_setmystate) = __NR_AIX5_UNKNOWN;
184Int VG_(aix5_NR_thread_init) = __NR_AIX5_UNKNOWN;
185Int VG_(aix5_NR_times) = __NR_AIX5_UNKNOWN;
186Int VG_(aix5_NR__nsleep) = __NR_AIX5_UNKNOWN;
187Int VG_(aix5_NR_reltimerid) = __NR_AIX5_UNKNOWN;
188Int VG_(aix5_NR_appresinc) = __NR_AIX5_UNKNOWN;
189Int VG_(aix5_NR_apprestimer) = __NR_AIX5_UNKNOWN;
190Int VG_(aix5_NR_appresabs) = __NR_AIX5_UNKNOWN;
191Int VG_(aix5_NR_appsettimer) = __NR_AIX5_UNKNOWN;
192Int VG_(aix5_NR_appgettimer) = __NR_AIX5_UNKNOWN;
193Int VG_(aix5_NR_gettimerid) = __NR_AIX5_UNKNOWN;
194Int VG_(aix5_NR_incinterval) = __NR_AIX5_UNKNOWN;
195Int VG_(aix5_NR_absinterval) = __NR_AIX5_UNKNOWN;
196Int VG_(aix5_NR_getinterval) = __NR_AIX5_UNKNOWN;
197Int VG_(aix5_NR_upfget) = __NR_AIX5_UNKNOWN;
198Int VG_(aix5_NR__wlm_wait) = __NR_AIX5_UNKNOWN;
199Int VG_(aix5_NR__wlm_post) = __NR_AIX5_UNKNOWN;
200Int VG_(aix5_NR__wlm_event_init) = __NR_AIX5_UNKNOWN;
201Int VG_(aix5_NR__wlm_set_tag) = __NR_AIX5_UNKNOWN;
202Int VG_(aix5_NR__wlm_set) = __NR_AIX5_UNKNOWN;
203Int VG_(aix5_NR_ptrace64) = __NR_AIX5_UNKNOWN;
204Int VG_(aix5_NR_ptracex) = __NR_AIX5_UNKNOWN;
205Int VG_(aix5_NR_ptrace) = __NR_AIX5_UNKNOWN;
206Int VG_(aix5_NR_ksetcontext_sigreturn) = __NR_AIX5_UNKNOWN;
207Int VG_(aix5_NR_ksetcontext) = __NR_AIX5_UNKNOWN;
208Int VG_(aix5_NR_kgetcontext) = __NR_AIX5_UNKNOWN;
209Int VG_(aix5_NR_sigreturn) = __NR_AIX5_UNKNOWN;
210Int VG_(aix5_NR__wlm_get_bio_stats) = __NR_AIX5_UNKNOWN;
211Int VG_(aix5_NR_splice) = __NR_AIX5_UNKNOWN;
212Int VG_(aix5_NR_rmsock) = __NR_AIX5_UNKNOWN;
213Int VG_(aix5_NR_nrecvmsg) = __NR_AIX5_UNKNOWN;
214Int VG_(aix5_NR_socket_aio_dequeue) = __NR_AIX5_UNKNOWN;
215Int VG_(aix5_NR_getkerninfo) = __NR_AIX5_UNKNOWN;
216Int VG_(aix5_NR_getpeereid) = __NR_AIX5_UNKNOWN;
217Int VG_(aix5_NR_getpeername) = __NR_AIX5_UNKNOWN;
218Int VG_(aix5_NR_ngetpeername) = __NR_AIX5_UNKNOWN;
219Int VG_(aix5_NR_getsockname) = __NR_AIX5_UNKNOWN;
220Int VG_(aix5_NR_ngetsockname) = __NR_AIX5_UNKNOWN;
221Int VG_(aix5_NR_getsockopt) = __NR_AIX5_UNKNOWN;
222Int VG_(aix5_NR_setsockopt) = __NR_AIX5_UNKNOWN;
223Int VG_(aix5_NR_shutdown) = __NR_AIX5_UNKNOWN;
224Int VG_(aix5_NR_recvmsg) = __NR_AIX5_UNKNOWN;
225Int VG_(aix5_NR_recv) = __NR_AIX5_UNKNOWN;
226Int VG_(aix5_NR_nrecvfrom) = __NR_AIX5_UNKNOWN;
227Int VG_(aix5_NR_recvfrom) = __NR_AIX5_UNKNOWN;
228Int VG_(aix5_NR_nsendmsg) = __NR_AIX5_UNKNOWN;
229Int VG_(aix5_NR_sendmsg) = __NR_AIX5_UNKNOWN;
230Int VG_(aix5_NR_send) = __NR_AIX5_UNKNOWN;
231Int VG_(aix5_NR_sendto) = __NR_AIX5_UNKNOWN;
232Int VG_(aix5_NR_socketpair) = __NR_AIX5_UNKNOWN;
233Int VG_(aix5_NR_accept) = __NR_AIX5_UNKNOWN;
234Int VG_(aix5_NR_naccept) = __NR_AIX5_UNKNOWN;
235Int VG_(aix5_NR_listen) = __NR_AIX5_UNKNOWN;
236Int VG_(aix5_NR_bind) = __NR_AIX5_UNKNOWN;
237Int VG_(aix5_NR_socket) = __NR_AIX5_UNKNOWN;
238Int VG_(aix5_NR_connext) = __NR_AIX5_UNKNOWN;
239Int VG_(aix5_NR_setdomainname) = __NR_AIX5_UNKNOWN;
240Int VG_(aix5_NR_getdomainname) = __NR_AIX5_UNKNOWN;
241Int VG_(aix5_NR_sethostname) = __NR_AIX5_UNKNOWN;
242Int VG_(aix5_NR_sethostid) = __NR_AIX5_UNKNOWN;
243Int VG_(aix5_NR_gethostid) = __NR_AIX5_UNKNOWN;
244Int VG_(aix5_NR_gethostname) = __NR_AIX5_UNKNOWN;
245Int VG_(aix5_NR_send_file) = __NR_AIX5_UNKNOWN;
246Int VG_(aix5_NR__rmlmbcost) = __NR_AIX5_UNKNOWN;
247Int VG_(aix5_NR___rs_pickmcm) = __NR_AIX5_UNKNOWN;
248Int VG_(aix5_NR_rs_getsystem) = __NR_AIX5_UNKNOWN;
249Int VG_(aix5_NR_rs_getassociativity) = __NR_AIX5_UNKNOWN;
250Int VG_(aix5_NR_rs_setpartition) = __NR_AIX5_UNKNOWN;
251Int VG_(aix5_NR_rs_getpartition) = __NR_AIX5_UNKNOWN;
252Int VG_(aix5_NR_ra_getrset) = __NR_AIX5_UNKNOWN;
253Int VG_(aix5_NR_rs_getinfo) = __NR_AIX5_UNKNOWN;
254Int VG_(aix5_NR_rs_getrad) = __NR_AIX5_UNKNOWN;
255Int VG_(aix5_NR_rs_numrads) = __NR_AIX5_UNKNOWN;
256Int VG_(aix5_NR___kdb_format_print_rele) = __NR_AIX5_UNKNOWN;
257Int VG_(aix5_NR___kdb_format_print_init) = __NR_AIX5_UNKNOWN;
258Int VG_(aix5_NR_close) = __NR_AIX5_UNKNOWN;
259Int VG_(aix5_NR_kfsync_range) = __NR_AIX5_UNKNOWN;
260Int VG_(aix5_NR_fsync) = __NR_AIX5_UNKNOWN;
261Int VG_(aix5_NR_kpwrite) = __NR_AIX5_UNKNOWN;
262Int VG_(aix5_NR_kwritev) = __NR_AIX5_UNKNOWN;
263Int VG_(aix5_NR_kwrite) = __NR_AIX5_UNKNOWN;
264Int VG_(aix5_NR_kpread) = __NR_AIX5_UNKNOWN;
265Int VG_(aix5_NR_kreadv) = __NR_AIX5_UNKNOWN;
266Int VG_(aix5_NR_kread) = __NR_AIX5_UNKNOWN;
267Int VG_(aix5_NR_klseek) = __NR_AIX5_UNKNOWN;
268Int VG_(aix5_NR__lseek) = __NR_AIX5_UNKNOWN;
269Int VG_(aix5_NR_lseek) = __NR_AIX5_UNKNOWN;
270Int VG_(aix5_NR__setsid) = __NR_AIX5_UNKNOWN;
271Int VG_(aix5_NR__setpgid) = __NR_AIX5_UNKNOWN;
272Int VG_(aix5_NR__setpgrp) = __NR_AIX5_UNKNOWN;
273Int VG_(aix5_NR__getpgrpx) = __NR_AIX5_UNKNOWN;
274Int VG_(aix5_NR__getpgrp) = __NR_AIX5_UNKNOWN;
275Int VG_(aix5_NR__getppid) = __NR_AIX5_UNKNOWN;
276Int VG_(aix5_NR__thread_self) = __NR_AIX5_UNKNOWN;
277Int VG_(aix5_NR__getpid) = __NR_AIX5_UNKNOWN;
278Int VG_(aix5_NR_kgetpgidx) = __NR_AIX5_UNKNOWN;
279Int VG_(aix5_NR_setuid) = __NR_AIX5_UNKNOWN;
280Int VG_(aix5_NR_setuidx) = __NR_AIX5_UNKNOWN;
281Int VG_(aix5_NR_getuidx) = __NR_AIX5_UNKNOWN;
282Int VG_(aix5_NR_seteuid) = __NR_AIX5_UNKNOWN;
283Int VG_(aix5_NR_setreuid) = __NR_AIX5_UNKNOWN;
284Int VG_(aix5_NR_chdir) = __NR_AIX5_UNKNOWN;
285Int VG_(aix5_NR_fchdir) = __NR_AIX5_UNKNOWN;
286Int VG_(aix5_NR_chroot) = __NR_AIX5_UNKNOWN;
287Int VG_(aix5_NR_fchmod) = __NR_AIX5_UNKNOWN;
288Int VG_(aix5_NR_chmod) = __NR_AIX5_UNKNOWN;
289Int VG_(aix5_NR_chown) = __NR_AIX5_UNKNOWN;
290Int VG_(aix5_NR_lchown) = __NR_AIX5_UNKNOWN;
291Int VG_(aix5_NR_fchown) = __NR_AIX5_UNKNOWN;
292Int VG_(aix5_NR_fchownx) = __NR_AIX5_UNKNOWN;
293Int VG_(aix5_NR_chownx) = __NR_AIX5_UNKNOWN;
294Int VG_(aix5_NR_kfclear) = __NR_AIX5_UNKNOWN;
295Int VG_(aix5_NR_fclear) = __NR_AIX5_UNKNOWN;
296Int VG_(aix5_NR_ffinfo) = __NR_AIX5_UNKNOWN;
297Int VG_(aix5_NR_finfo) = __NR_AIX5_UNKNOWN;
298Int VG_(aix5_NR_fscntl) = __NR_AIX5_UNKNOWN;
299Int VG_(aix5_NR_ktruncate) = __NR_AIX5_UNKNOWN;
300Int VG_(aix5_NR_kftruncate) = __NR_AIX5_UNKNOWN;
301Int VG_(aix5_NR_truncate) = __NR_AIX5_UNKNOWN;
302Int VG_(aix5_NR_ftruncate) = __NR_AIX5_UNKNOWN;
303Int VG_(aix5_NR_getdirent64) = __NR_AIX5_UNKNOWN;
304Int VG_(aix5_NR_getdirent) = __NR_AIX5_UNKNOWN;
305Int VG_(aix5_NR_kioctl32) = __NR_AIX5_UNKNOWN;
306Int VG_(aix5_NR_kioctl) = __NR_AIX5_UNKNOWN;
307Int VG_(aix5_NR_link) = __NR_AIX5_UNKNOWN;
308Int VG_(aix5_NR_klockf) = __NR_AIX5_UNKNOWN;
309Int VG_(aix5_NR_lockf) = __NR_AIX5_UNKNOWN;
310Int VG_(aix5_NR_mkdir) = __NR_AIX5_UNKNOWN;
311Int VG_(aix5_NR_mknod) = __NR_AIX5_UNKNOWN;
312Int VG_(aix5_NR_mntctl) = __NR_AIX5_UNKNOWN;
313Int VG_(aix5_NR_vmount) = __NR_AIX5_UNKNOWN;
314Int VG_(aix5_NR_creat) = __NR_AIX5_UNKNOWN;
315Int VG_(aix5_NR_openx) = __NR_AIX5_UNKNOWN;
316Int VG_(aix5_NR_open) = __NR_AIX5_UNKNOWN;
317Int VG_(aix5_NR_quotactl) = __NR_AIX5_UNKNOWN;
318Int VG_(aix5_NR_rename) = __NR_AIX5_UNKNOWN;
319Int VG_(aix5_NR_rmdir) = __NR_AIX5_UNKNOWN;
320Int VG_(aix5_NR_fstatx) = __NR_AIX5_UNKNOWN;
321Int VG_(aix5_NR_statx) = __NR_AIX5_UNKNOWN;
322Int VG_(aix5_NR_symlink) = __NR_AIX5_UNKNOWN;
323Int VG_(aix5_NR_readlink) = __NR_AIX5_UNKNOWN;
324Int VG_(aix5_NR_syncvfs) = __NR_AIX5_UNKNOWN;
325Int VG_(aix5_NR_sync) = __NR_AIX5_UNKNOWN;
326Int VG_(aix5_NR_umask) = __NR_AIX5_UNKNOWN;
327Int VG_(aix5_NR_uvmount) = __NR_AIX5_UNKNOWN;
328Int VG_(aix5_NR_umount) = __NR_AIX5_UNKNOWN;
329Int VG_(aix5_NR_unameu) = __NR_AIX5_UNKNOWN;
330Int VG_(aix5_NR_unamex) = __NR_AIX5_UNKNOWN;
331Int VG_(aix5_NR_uname) = __NR_AIX5_UNKNOWN;
332Int VG_(aix5_NR_unlink) = __NR_AIX5_UNKNOWN;
333Int VG_(aix5_NR_ustat) = __NR_AIX5_UNKNOWN;
334Int VG_(aix5_NR_utimes) = __NR_AIX5_UNKNOWN;
335Int VG_(aix5_NR___msgxrcv) = __NR_AIX5_UNKNOWN;
336Int VG_(aix5_NR___msgrcv) = __NR_AIX5_UNKNOWN;
337Int VG_(aix5_NR___msgsnd) = __NR_AIX5_UNKNOWN;
338Int VG_(aix5_NR_msgctl) = __NR_AIX5_UNKNOWN;
339Int VG_(aix5_NR_msgget) = __NR_AIX5_UNKNOWN;
340Int VG_(aix5_NR_getgidx) = __NR_AIX5_UNKNOWN;
341Int VG_(aix5_NR___semop) = __NR_AIX5_UNKNOWN;
342Int VG_(aix5_NR_semget) = __NR_AIX5_UNKNOWN;
343Int VG_(aix5_NR_semctl) = __NR_AIX5_UNKNOWN;
344Int VG_(aix5_NR_shmctl) = __NR_AIX5_UNKNOWN;
345Int VG_(aix5_NR_shmdt) = __NR_AIX5_UNKNOWN;
346Int VG_(aix5_NR_shmat) = __NR_AIX5_UNKNOWN;
347Int VG_(aix5_NR_shmget) = __NR_AIX5_UNKNOWN;
348Int VG_(aix5_NR_ra_shmgetv) = __NR_AIX5_UNKNOWN;
349Int VG_(aix5_NR_ra_shmget) = __NR_AIX5_UNKNOWN;
350Int VG_(aix5_NR_privcheck) = __NR_AIX5_UNKNOWN;
351Int VG_(aix5_NR_disclaim) = __NR_AIX5_UNKNOWN;
352Int VG_(aix5_NR__sem_destroy_unnamed) = __NR_AIX5_UNKNOWN;
353Int VG_(aix5_NR__sem_wait) = __NR_AIX5_UNKNOWN;
354Int VG_(aix5_NR__sem_close) = __NR_AIX5_UNKNOWN;
355Int VG_(aix5_NR__sem_open) = __NR_AIX5_UNKNOWN;
356Int VG_(aix5_NR_sem_unlink) = __NR_AIX5_UNKNOWN;
357Int VG_(aix5_NR_sem_post) = __NR_AIX5_UNKNOWN;
358Int VG_(aix5_NR_sem_init) = __NR_AIX5_UNKNOWN;
359Int VG_(aix5_NR_sem_getvalue) = __NR_AIX5_UNKNOWN;
360Int VG_(aix5_NR_sem_destroy) = __NR_AIX5_UNKNOWN;
361Int VG_(aix5_NR__mq_notify) = __NR_AIX5_UNKNOWN;
362Int VG_(aix5_NR__mq_open) = __NR_AIX5_UNKNOWN;
363Int VG_(aix5_NR_mq_unlink) = __NR_AIX5_UNKNOWN;
364Int VG_(aix5_NR_mq_setattr) = __NR_AIX5_UNKNOWN;
365Int VG_(aix5_NR_mq_send) = __NR_AIX5_UNKNOWN;
366Int VG_(aix5_NR_mq_receive) = __NR_AIX5_UNKNOWN;
367Int VG_(aix5_NR_mq_getattr) = __NR_AIX5_UNKNOWN;
368Int VG_(aix5_NR_mq_close) = __NR_AIX5_UNKNOWN;
369Int VG_(aix5_NR_shm_unlink) = __NR_AIX5_UNKNOWN;
370Int VG_(aix5_NR_shm_open) = __NR_AIX5_UNKNOWN;
371Int VG_(aix5_NR__poll) = __NR_AIX5_UNKNOWN;
372Int VG_(aix5_NR__select) = __NR_AIX5_UNKNOWN;
373Int VG_(aix5_NR_sysconfig) = __NR_AIX5_UNKNOWN;
374Int VG_(aix5_NR_sys_parm) = __NR_AIX5_UNKNOWN;
375Int VG_(aix5_NR_loadquery) = __NR_AIX5_UNKNOWN;
376Int VG_(aix5_NR_knlist) = __NR_AIX5_UNKNOWN;
377Int VG_(aix5_NR_brk) = __NR_AIX5_UNKNOWN;
378Int VG_(aix5_NR_fjfs_sys_call) = __NR_AIX5_UNKNOWN;
379Int VG_(aix5_NR_jfs_sys_call) = __NR_AIX5_UNKNOWN;
380Int VG_(aix5_NR_acct) = __NR_AIX5_UNKNOWN;
381Int VG_(aix5_NR__dr_unregister) = __NR_AIX5_UNKNOWN;
382Int VG_(aix5_NR__dr_notify) = __NR_AIX5_UNKNOWN;
383Int VG_(aix5_NR__dr_register) = __NR_AIX5_UNKNOWN;
384Int VG_(aix5_NR_getlparload) = __NR_AIX5_UNKNOWN;
385Int VG_(aix5_NR_dr_reconfig) = __NR_AIX5_UNKNOWN;
386Int VG_(aix5_NR_projctl) = __NR_AIX5_UNKNOWN;
387Int VG_(aix5_NR_sbrk) = __NR_AIX5_UNKNOWN;
388Int VG_(aix5_NR__sigpending) = __NR_AIX5_UNKNOWN;
389Int VG_(aix5_NR__pause) = __NR_AIX5_UNKNOWN;
390Int VG_(aix5_NR_thread_kill) = __NR_AIX5_UNKNOWN;
391Int VG_(aix5_NR_sigstack) = __NR_AIX5_UNKNOWN;
392Int VG_(aix5_NR_sigaltstack) = __NR_AIX5_UNKNOWN;
393Int VG_(aix5_NR_appulimit) = __NR_AIX5_UNKNOWN;
394Int VG_(aix5_NR_ras_service) = __NR_AIX5_UNKNOWN;
395Int VG_(aix5_NR__wlm_class_descr2key) = __NR_AIX5_UNKNOWN;
396Int VG_(aix5_NR__wlm_get_procinfo) = __NR_AIX5_UNKNOWN;
397Int VG_(aix5_NR__wlm_get_info) = __NR_AIX5_UNKNOWN;
398Int VG_(aix5_NR__wlm_getclassname) = __NR_AIX5_UNKNOWN;
399Int VG_(aix5_NR__wlm_unload_classes) = __NR_AIX5_UNKNOWN;
400Int VG_(aix5_NR__wlm_load) = __NR_AIX5_UNKNOWN;
401Int VG_(aix5_NR__wlm_tune) = __NR_AIX5_UNKNOWN;
402Int VG_(aix5_NR__wlm_assign) = __NR_AIX5_UNKNOWN;
403Int VG_(aix5_NR__wlm_classify) = __NR_AIX5_UNKNOWN;
404Int VG_(aix5_NR_fp_cpusync) = __NR_AIX5_UNKNOWN;
405Int VG_(aix5_NR__fp_trapstate_ker) = __NR_AIX5_UNKNOWN;
406Int VG_(aix5_NR__ewlm_classify_correlator) = __NR_AIX5_UNKNOWN;
407Int VG_(aix5_NR__arm_stop_transaction) = __NR_AIX5_UNKNOWN;
408Int VG_(aix5_NR__arm_destroy_application) = __NR_AIX5_UNKNOWN;
409Int VG_(aix5_NR__arm_stop_application) = __NR_AIX5_UNKNOWN;
410Int VG_(aix5_NR__arm_generate_correlator) = __NR_AIX5_UNKNOWN;
411Int VG_(aix5_NR__arm_discard_transaction) = __NR_AIX5_UNKNOWN;
412Int VG_(aix5_NR__arm_unbind_thread) = __NR_AIX5_UNKNOWN;
413Int VG_(aix5_NR__arm_bind_thread) = __NR_AIX5_UNKNOWN;
414Int VG_(aix5_NR__arm_unblock_transaction) = __NR_AIX5_UNKNOWN;
415Int VG_(aix5_NR__arm_block_transaction) = __NR_AIX5_UNKNOWN;
416Int VG_(aix5_NR__arm_update_transaction) = __NR_AIX5_UNKNOWN;
417Int VG_(aix5_NR__arm_register_metric) = __NR_AIX5_UNKNOWN;
418Int VG_(aix5_NR__arm_report_transaction) = __NR_AIX5_UNKNOWN;
419Int VG_(aix5_NR__arm_start_transaction) = __NR_AIX5_UNKNOWN;
420Int VG_(aix5_NR__arm_register_transaction) = __NR_AIX5_UNKNOWN;
421Int VG_(aix5_NR__arm_start_application) = __NR_AIX5_UNKNOWN;
422Int VG_(aix5_NR__arm_register_application) = __NR_AIX5_UNKNOWN;
423Int VG_(aix5_NR__lsarm_getinfo) = __NR_AIX5_UNKNOWN;
424Int VG_(aix5_NR__ewlm_init) = __NR_AIX5_UNKNOWN;
425Int VG_(aix5_NR__ewlm_query) = __NR_AIX5_UNKNOWN;
426Int VG_(aix5_NR_ewlm_verify_policy) = __NR_AIX5_UNKNOWN;
427Int VG_(aix5_NR_ewlm_abort_policy) = __NR_AIX5_UNKNOWN;
428Int VG_(aix5_NR_ewlm_commit_policy) = __NR_AIX5_UNKNOWN;
429Int VG_(aix5_NR_ewlm_prepare_policy) = __NR_AIX5_UNKNOWN;
430Int VG_(aix5_NR_ewlm_get_completions) = __NR_AIX5_UNKNOWN;
431Int VG_(aix5_NR_ewlm_get_activedata) = __NR_AIX5_UNKNOWN;
432Int VG_(aix5_NR_ewlm_get_appldata) = __NR_AIX5_UNKNOWN;
433Int VG_(aix5_NR_ewlm_collect_samples) = __NR_AIX5_UNKNOWN;
434Int VG_(aix5_NR_ewlm_disconnect) = __NR_AIX5_UNKNOWN;
435Int VG_(aix5_NR_ewlm_connect) = __NR_AIX5_UNKNOWN;
436Int VG_(aix5_NR_auditlog) = __NR_AIX5_UNKNOWN;
437Int VG_(aix5_NR_auditproc) = __NR_AIX5_UNKNOWN;
438Int VG_(aix5_NR_getgroups) = __NR_AIX5_UNKNOWN;
439Int VG_(aix5_NR_setgid) = __NR_AIX5_UNKNOWN;
440Int VG_(aix5_NR_setgidx) = __NR_AIX5_UNKNOWN;
441Int VG_(aix5_NR_setgroups) = __NR_AIX5_UNKNOWN;
442Int VG_(aix5_NR_frevoke) = __NR_AIX5_UNKNOWN;
443Int VG_(aix5_NR_revoke) = __NR_AIX5_UNKNOWN;
444Int VG_(aix5_NR___pag_setvalue) = __NR_AIX5_UNKNOWN;
445Int VG_(aix5_NR___pag_getvalue) = __NR_AIX5_UNKNOWN;
446Int VG_(aix5_NR___pag_getid) = __NR_AIX5_UNKNOWN;
447Int VG_(aix5_NR___pag_getname) = __NR_AIX5_UNKNOWN;
448Int VG_(aix5_NR___pag_setname) = __NR_AIX5_UNKNOWN;
449Int VG_(aix5_NR_kcap_set_proc) = __NR_AIX5_UNKNOWN;
450Int VG_(aix5_NR_kcap_get_proc) = __NR_AIX5_UNKNOWN;
451Int VG_(aix5_NR_pipe) = __NR_AIX5_UNKNOWN;
452Int VG_(aix5_NR_mwakeup) = __NR_AIX5_UNKNOWN;
453Int VG_(aix5_NR___msleep) = __NR_AIX5_UNKNOWN;
454Int VG_(aix5_NR_kmmap) = __NR_AIX5_UNKNOWN;
455Int VG_(aix5_NR_msem_remove) = __NR_AIX5_UNKNOWN;
456Int VG_(aix5_NR_mincore) = __NR_AIX5_UNKNOWN;
457Int VG_(aix5_NR_madvise) = __NR_AIX5_UNKNOWN;
458Int VG_(aix5_NR_munmap) = __NR_AIX5_UNKNOWN;
459Int VG_(aix5_NR_msync) = __NR_AIX5_UNKNOWN;
460Int VG_(aix5_NR_mprotect) = __NR_AIX5_UNKNOWN;
461Int VG_(aix5_NR_mmap) = __NR_AIX5_UNKNOWN;
462Int VG_(aix5_NR_swapqry) = __NR_AIX5_UNKNOWN;
463Int VG_(aix5_NR_swapon) = __NR_AIX5_UNKNOWN;
464Int VG_(aix5_NR_swapoff) = __NR_AIX5_UNKNOWN;
465Int VG_(aix5_NR_psdanger) = __NR_AIX5_UNKNOWN;
466Int VG_(aix5_NR_vmgetinfo) = __NR_AIX5_UNKNOWN;
467Int VG_(aix5_NR_rs_admregistername) = __NR_AIX5_UNKNOWN;
468Int VG_(aix5_NR_rs_discardname) = __NR_AIX5_UNKNOWN;
469Int VG_(aix5_NR_rs_setnameattr) = __NR_AIX5_UNKNOWN;
470Int VG_(aix5_NR_rs_registername) = __NR_AIX5_UNKNOWN;
471Int VG_(aix5_NR_rs_getnamedrset) = __NR_AIX5_UNKNOWN;
472Int VG_(aix5_NR_rs_getnameattr) = __NR_AIX5_UNKNOWN;
473Int VG_(aix5_NR_rs_getrsetnames) = __NR_AIX5_UNKNOWN;
474Int VG_(aix5_NR_ra_attachrset) = __NR_AIX5_UNKNOWN;
475Int VG_(aix5_NR_ra_detachrset) = __NR_AIX5_UNKNOWN;
476Int VG_(aix5_NR_dmapi_init) = __NR_AIX5_UNKNOWN;
477Int VG_(aix5_NR_kdm_ioctl) = __NR_AIX5_UNKNOWN;
478Int VG_(aix5_NR_access) = __NR_AIX5_UNKNOWN;
479Int VG_(aix5_NR_accessx) = __NR_AIX5_UNKNOWN;
480Int VG_(aix5_NR_kfcntl) = __NR_AIX5_UNKNOWN;
481Int VG_(aix5_NR___pfcntl) = __NR_AIX5_UNKNOWN;
482Int VG_(aix5_NR_fstatfs64) = __NR_AIX5_UNKNOWN;
483Int VG_(aix5_NR_statfs64) = __NR_AIX5_UNKNOWN;
484Int VG_(aix5_NR_fstatfs) = __NR_AIX5_UNKNOWN;
485Int VG_(aix5_NR_statfs) = __NR_AIX5_UNKNOWN;
486Int VG_(aix5_NR_probe) = __NR_AIX5_UNKNOWN;
487Int VG_(aix5_NR_cmp_swap) = __NR_AIX5_UNKNOWN;
488Int VG_(aix5_NR__validate_pag) = __NR_AIX5_UNKNOWN;
489Int VG_(aix5_NR_kgetsidx) = __NR_AIX5_UNKNOWN;
490Int VG_(aix5_NR_kgetsid) = __NR_AIX5_UNKNOWN;
491Int VG_(aix5_NR_plock) = __NR_AIX5_UNKNOWN;
492Int VG_(aix5_NR_upfput) = __NR_AIX5_UNKNOWN;
493Int VG_(aix5_NR_usrinfo) = __NR_AIX5_UNKNOWN;
494Int VG_(aix5_NR_audit) = __NR_AIX5_UNKNOWN;
495Int VG_(aix5_NR_auditobj) = __NR_AIX5_UNKNOWN;
496Int VG_(aix5_NR_auditbin) = __NR_AIX5_UNKNOWN;
497Int VG_(aix5_NR_auditevents) = __NR_AIX5_UNKNOWN;
498Int VG_(aix5_NR_faccessx) = __NR_AIX5_UNKNOWN;
499Int VG_(aix5_NR___fchaclx) = __NR_AIX5_UNKNOWN;
500Int VG_(aix5_NR___chaclx) = __NR_AIX5_UNKNOWN;
501Int VG_(aix5_NR_fchacl) = __NR_AIX5_UNKNOWN;
502Int VG_(aix5_NR_chacl) = __NR_AIX5_UNKNOWN;
503Int VG_(aix5_NR___fstataclx) = __NR_AIX5_UNKNOWN;
504Int VG_(aix5_NR___stataclx) = __NR_AIX5_UNKNOWN;
505Int VG_(aix5_NR_fstatacl) = __NR_AIX5_UNKNOWN;
506Int VG_(aix5_NR_statacl) = __NR_AIX5_UNKNOWN;
507Int VG_(aix5_NR_setpriv) = __NR_AIX5_UNKNOWN;
508Int VG_(aix5_NR_getpriv) = __NR_AIX5_UNKNOWN;
509Int VG_(aix5_NR_fstatpriv) = __NR_AIX5_UNKNOWN;
510Int VG_(aix5_NR_statpriv) = __NR_AIX5_UNKNOWN;
511Int VG_(aix5_NR_fchpriv) = __NR_AIX5_UNKNOWN;
512Int VG_(aix5_NR_chpriv) = __NR_AIX5_UNKNOWN;
513Int VG_(aix5_NR_i_int2cpu_pal) = __NR_AIX5_UNKNOWN;
514Int VG_(aix5_NR_hd_cfg) = __NR_AIX5_UNKNOWN;
515Int VG_(aix5_NR_putpmsg) = __NR_AIX5_UNKNOWN;
516Int VG_(aix5_NR_putmsg) = __NR_AIX5_UNKNOWN;
517Int VG_(aix5_NR_getpmsg) = __NR_AIX5_UNKNOWN;
518Int VG_(aix5_NR_getmsg) = __NR_AIX5_UNKNOWN;
519Int VG_(aix5_NR_strinfo) = __NR_AIX5_UNKNOWN;
520Int VG_(aix5_NR_strreset) = __NR_AIX5_UNKNOWN;
521Int VG_(aix5_NR_dupmsg) = __NR_AIX5_UNKNOWN;
522Int VG_(aix5_NR__kgrantpt) = __NR_AIX5_UNKNOWN;
523Int VG_(aix5_NR_aixgsc) = __NR_AIX5_UNKNOWN;
524Int VG_(aix5_NR_smaccept) = __NR_AIX5_UNKNOWN;
525Int VG_(aix5_NR_smconnect) = __NR_AIX5_UNKNOWN;
526Int VG_(aix5_NR_smlisten) = __NR_AIX5_UNKNOWN;
527Int VG_(aix5_NR_smbind) = __NR_AIX5_UNKNOWN;
528Int VG_(aix5_NR_smsocket) = __NR_AIX5_UNKNOWN;
529Int VG_(aix5_NR_smdetatt) = __NR_AIX5_UNKNOWN;
530Int VG_(aix5_NR_smattach) = __NR_AIX5_UNKNOWN;
531Int VG_(aix5_NR_smselect) = __NR_AIX5_UNKNOWN;
532Int VG_(aix5_NR_smwait) = __NR_AIX5_UNKNOWN;
533Int VG_(aix5_NR_smsetthresh) = __NR_AIX5_UNKNOWN;
534Int VG_(aix5_NR_smsendbuff) = __NR_AIX5_UNKNOWN;
535Int VG_(aix5_NR_smfreebuff) = __NR_AIX5_UNKNOWN;
536Int VG_(aix5_NR_smrcvbuff) = __NR_AIX5_UNKNOWN;
537Int VG_(aix5_NR_smgetbuff) = __NR_AIX5_UNKNOWN;
538Int VG_(aix5_NR_smversion) = __NR_AIX5_UNKNOWN;
539Int VG_(aix5_NR_smtcheckinit) = __NR_AIX5_UNKNOWN;
540Int VG_(aix5_NR_aio_nwait_timeout) = __NR_AIX5_UNKNOWN;
541Int VG_(aix5_NR_kaio_stats) = __NR_AIX5_UNKNOWN;
542Int VG_(aix5_NR_aio_cntl) = __NR_AIX5_UNKNOWN;
543Int VG_(aix5_NR_listio) = __NR_AIX5_UNKNOWN;
544Int VG_(aix5_NR_acancel) = __NR_AIX5_UNKNOWN;
545Int VG_(aix5_NR_iosuspend) = __NR_AIX5_UNKNOWN;
546Int VG_(aix5_NR_kaio_rdwr) = __NR_AIX5_UNKNOWN;
547Int VG_(aix5_NR_aio_nwait) = __NR_AIX5_UNKNOWN;
548Int VG_(aix5_NR__posix_iofsync) = __NR_AIX5_UNKNOWN;
549Int VG_(aix5_NR__posix_aio_nwait_timeout) = __NR_AIX5_UNKNOWN;
550Int VG_(aix5_NR__posix_kaio_stats) = __NR_AIX5_UNKNOWN;
551Int VG_(aix5_NR__posix_listio) = __NR_AIX5_UNKNOWN;
552Int VG_(aix5_NR__posix_acancel) = __NR_AIX5_UNKNOWN;
553Int VG_(aix5_NR__posix_iosuspend) = __NR_AIX5_UNKNOWN;
554Int VG_(aix5_NR__posix_kaio_rdwr) = __NR_AIX5_UNKNOWN;
555Int VG_(aix5_NR__posix_aio_cntl) = __NR_AIX5_UNKNOWN;
556Int VG_(aix5_NR__posix_aio_nwait) = __NR_AIX5_UNKNOWN;
557Int VG_(aix5_NR_nfs_cntl) = __NR_AIX5_UNKNOWN;
558Int VG_(aix5_NR_nfssvc) = __NR_AIX5_UNKNOWN;
559Int VG_(aix5_NR_nfs_getfh) = __NR_AIX5_UNKNOWN;
560Int VG_(aix5_NR_exportfs) = __NR_AIX5_UNKNOWN;
561Int VG_(aix5_NR_lm_svc) = __NR_AIX5_UNKNOWN;
562Int VG_(aix5_NR_pw_config) = __NR_AIX5_UNKNOWN;
563Int VG_(aix5_NR_pw_post) = __NR_AIX5_UNKNOWN;
564Int VG_(aix5_NR_pw_wait) = __NR_AIX5_UNKNOWN;
565Int VG_(aix5_NR_pw_loadavg) = __NR_AIX5_UNKNOWN;
566Int VG_(aix5_NR_pw_debug) = __NR_AIX5_UNKNOWN;
567
568/* Extras for AIX 5.3 */
569Int VG_(aix5_NR___libc_sbrk) = __NR_AIX5_UNKNOWN;
570Int VG_(aix5_NR_thread_waitlock_) = __NR_AIX5_UNKNOWN;
571Int VG_(aix5_NR__fp_fpscrx_sc) = __NR_AIX5_UNKNOWN;
572Int VG_(aix5_NR_sched_get_priority_max) = __NR_AIX5_UNKNOWN;
573
574/* Extras for AIX 5.3 64-bit mode. */
575Int VG_(aix5_NR_kload) = __NR_AIX5_UNKNOWN;
576Int VG_(aix5_NR__fp_fpscrx64_) = __NR_AIX5_UNKNOWN;
577Int 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. */
584Int VG_(aix5_NR_FAKE_SIGRETURN) = __NR_AIX5_UNKNOWN;
585
586
sewardj4c993852007-07-10 00:18:46 +0000587
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
595static Int bindings_used = 0;
596static Int bindings_sysno[N_BINDINGS];
597static UChar* bindings_sysname[N_BINDINGS];
598
njn1a1e95c2009-06-03 06:50:06 +0000599Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
600{
601 VG_(snprintf)(buf, n_buf, "%3ld", sysnum);
602 return buf;
603}
604
605Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
606{
sewardj4c993852007-07-10 00:18:46 +0000607 Int i;
njn1a1e95c2009-06-03 06:50:06 +0000608 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;
sewardjad833942006-10-14 19:34:11 +0000617}
618
sewardj4c993852007-07-10 00:18:46 +0000619static Bool local_streq ( UChar* s1, UChar* s2 ); /* fwds */
620
sewardjad833942006-10-14 19:34:11 +0000621Bool 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))
sewardj4c993852007-07-10 00:18:46 +0000628 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 }
sewardjad833942006-10-14 19:34:11 +0000636
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
sewardj4c993852007-07-10 00:18:46 +00001146
1147static 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
njn1a1e95c2009-06-03 06:50:06 +00001158//---------------------------------------------------------------------------
1159#elif defined(VGO_darwin)
1160//---------------------------------------------------------------------------
1161
1162Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
1163{
1164 Char* classname = NULL;
1165 switch (VG_DARWIN_SYSNO_CLASS(sysnum)) {
sewardj12445b82010-07-01 11:15:32 +00001166 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;
njn1a1e95c2009-06-03 06:50:06 +00001171 }
1172 VG_(snprintf)(buf, n_buf, "%s:%3ld",
1173 classname, VG_DARWIN_SYSNO_INDEX(sysnum));
1174 return buf;
1175}
1176
1177Char* 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
sewardjad833942006-10-14 19:34:11 +00001187
1188/*--------------------------------------------------------------------*/
1189/*--- end ---*/
1190/*--------------------------------------------------------------------*/