[strace] ARM syscall updates Enrico Scholz Tue, 28 Oct 2008 06:31:13 -0700 Hi, strace 4.18 fails to build with recent ARM kernels as some syscall numbers have been changed. The attached patch fixes this. Enrico 2008-10-28 Enrico Scholz <[EMAIL PROTECTED]> * linux/arm/syscallent.h: updated arm syscall table to recent 2.6 kernel. Syscalls above 400 are not in use anymore and were moved to their current position. Some missing syscall entries were copied from other architectures too. Index: strace-4.5.18/linux/arm/syscallent.h =================================================================== --- strace-4.5.18.orig/linux/arm/syscallent.h +++ strace-4.5.18/linux/arm/syscallent.h @@ -328,63 +328,63 @@ { 5, TN, sys_getsockopt, "getsockopt" }, /* 295 */ { 3, TN, sys_sendmsg, "sendmsg" }, /* 296 */ { 3, TN, sys_recvmsg, "recvmsg" }, /* 297 */ - { 5, 0, printargs, "SYS_298" }, /* 298 */ - { 5, 0, printargs, "SYS_299" }, /* 299 */ - { 5, 0, printargs, "SYS_300" }, /* 300 */ - { 5, 0, printargs, "SYS_301" }, /* 301 */ - { 5, 0, printargs, "SYS_302" }, /* 302 */ - { 5, 0, printargs, "SYS_303" }, /* 303 */ - { 5, 0, printargs, "SYS_304" }, /* 304 */ - { 5, 0, printargs, "SYS_305" }, /* 305 */ - { 5, 0, printargs, "SYS_306" }, /* 306 */ - { 5, 0, printargs, "SYS_307" }, /* 307 */ - { 5, 0, printargs, "SYS_308" }, /* 308 */ - { 5, 0, printargs, "SYS_309" }, /* 309 */ - { 5, 0, printargs, "SYS_310" }, /* 310 */ - { 5, 0, printargs, "SYS_311" }, /* 311 */ - { 5, 0, printargs, "SYS_312" }, /* 312 */ - { 5, 0, printargs, "SYS_313" }, /* 313 */ - { 5, 0, printargs, "SYS_314" }, /* 314 */ - { 5, 0, printargs, "SYS_315" }, /* 315 */ - { 5, 0, printargs, "SYS_316" }, /* 316 */ - { 5, 0, printargs, "SYS_317" }, /* 317 */ - { 5, 0, printargs, "SYS_318" }, /* 318 */ - { 5, 0, printargs, "SYS_319" }, /* 319 */ - { 5, 0, printargs, "SYS_320" }, /* 320 */ - { 5, 0, printargs, "SYS_321" }, /* 321 */ - { 5, 0, printargs, "SYS_322" }, /* 322 */ - { 5, 0, printargs, "SYS_323" }, /* 323 */ - { 5, 0, printargs, "SYS_324" }, /* 324 */ - { 5, 0, printargs, "SYS_325" }, /* 325 */ - { 5, 0, printargs, "SYS_326" }, /* 326 */ - { 5, 0, printargs, "SYS_327" }, /* 327 */ - { 5, 0, printargs, "SYS_328" }, /* 328 */ - { 5, 0, printargs, "SYS_329" }, /* 329 */ - { 5, 0, printargs, "SYS_330" }, /* 330 */ - { 5, 0, printargs, "SYS_331" }, /* 331 */ - { 5, 0, printargs, "SYS_332" }, /* 332 */ - { 5, 0, printargs, "SYS_333" }, /* 333 */ - { 5, 0, printargs, "SYS_334" }, /* 334 */ + { 4, TI, sys_semop, "semop" }, /* 298 */ + { 4, TI, sys_semget, "semget" }, /* 299 */ + { 4, TI, sys_semctl, "semctl" }, /* 300 */ + { 4, TI, sys_msgsnd, "msgsnd" }, /* 301 */ + { 4, TI, sys_msgrcv, "msgrcv" }, /* 302 */ + { 4, TI, sys_msgget, "msgget" }, /* 303 */ + { 4, TI, sys_msgctl, "msgctl" }, /* 304 */ + { 4, TI, sys_shmat, "shmat" }, /* 305 */ + { 4, TI, sys_shmdt, "shmdt" }, /* 306 */ + { 4, TI, sys_shmget, "shmget" }, /* 307 */ + { 4, TI, sys_shmctl, "shmctl" }, /* 308 */ + { 5, 0, printargs, "add_key" }, /* 309 */ + { 4, 0, printargs, "request_key" }, /* 310 */ + { 5, 0, printargs, "keyctl" }, /* 311 */ + { 5, TI, sys_semtimedop, "semtimedop" }, /* 312 */ + { 5, 0, printargs, "vserver" }, /* 313 */ + { 3, 0, printargs, "ioprio_set" }, /* 314 */ + { 2, 0, printargs, "ioprio_get" }, /* 315 */ + { 0, TD, printargs, "inotify_init" }, /* 316 */ + { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 317 */ + { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 318 */ + { 6, 0, sys_mbind, "mbind" }, /* 319 */ + { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 320 */ + { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 321 */ + { 4, TD|TF, sys_openat, "openat" }, /* 322 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 323 */ + { 4, TD|TF, sys_mknodat, "mknodat" }, /* 324 */ + { 5, TD|TF, sys_fchownat, "fchownat" }, /* 325 */ + { 3, TD|TF, sys_futimesat, "futimesat" }, /* 326 */ + { 4, TD|TD, sys_newfstatat, "newfstatat" }, /* 327 */ + { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 328 */ + { 4, TD|TF, sys_renameat, "renameat" }, /* 329 */ + { 5, TD|TF, sys_linkat, "linkat" }, /* 330 */ + { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 331 */ + { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 332 */ + { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 333 */ + { 3, TD|TF, sys_faccessat, "faccessat" }, /* 334 */ { 5, 0, printargs, "SYS_335" }, /* 335 */ { 5, 0, printargs, "SYS_336" }, /* 336 */ - { 5, 0, printargs, "SYS_337" }, /* 337 */ - { 5, 0, printargs, "SYS_338" }, /* 338 */ - { 5, 0, printargs, "SYS_339" }, /* 339 */ - { 5, 0, printargs, "SYS_340" }, /* 340 */ + { 1, TP, sys_unshare, "unshare" }, /* 337 */ + { 2, 0, printargs, "set_robust_list" }, /* 338 */ + { 3, 0, printargs, "get_robust_list" }, /* 339 */ + { 6, TD, printargs, "splice" }, /* 340 */ { 5, 0, printargs, "SYS_341" }, /* 341 */ - { 5, 0, printargs, "SYS_342" }, /* 342 */ - { 5, 0, printargs, "SYS_343" }, /* 343 */ + { 4, TD, printargs, "tee" }, /* 342 */ + { 4, TD, printargs, "vmsplice" }, /* 343 */ { 6, 0, sys_move_pages, "move_pages" }, /* 344 */ { 3, 0, sys_getcpu, "getcpu" }, /* 345 */ { 5, 0, printargs, "SYS_346" }, /* 346 */ - { 5, 0, printargs, "SYS_347" }, /* 347 */ - { 5, 0, printargs, "SYS_348" }, /* 348 */ + { 5, 0, printargs, "kexec_load" }, /* 347 */ + { 4, TD|TF, sys_utimensat, "utimensat" }, /* 348 */ { 3, TD|TS, sys_signalfd, "signalfd" }, /* 349 */ { 4, TD, sys_timerfd, "timerfd" }, /* 350 */ { 1, TD, sys_eventfd, "eventfd" }, /* 351 */ - { 5, 0, printargs, "SYS_352" }, /* 352 */ - { 5, 0, printargs, "SYS_353" }, /* 353 */ - { 5, 0, printargs, "SYS_354" }, /* 354 */ + { 6, TF, sys_fallocate, "fallocate" }, /* 352 */ + { 4, TD, sys_timerfd_settime, "timerfd_settime"}, /* 353 */ + { 2, TD, sys_timerfd_gettime, "timerfd_gettime"}, /* 354 */ { 5, 0, printargs, "SYS_355" }, /* 355 */ { 5, 0, printargs, "SYS_356" }, /* 356 */ { 5, 0, printargs, "SYS_357" }, /* 357 */ @@ -430,54 +430,3 @@ { 5, 0, printargs, "SYS_397" }, /* 397 */ { 5, 0, printargs, "SYS_398" }, /* 398 */ { 5, 0, printargs, "SYS_399" }, /* 399 */ - -#if SYS_socket_subcall != 400 - #error fix me -#endif - { 8, 0, printargs, "socket_subcall"}, /* 400 */ - { 3, TN, sys_socket, "socket" }, /* 401 */ - { 3, TN, sys_bind, "bind" }, /* 402 */ - { 3, TN, sys_connect, "connect" }, /* 403 */ - { 2, TN, sys_listen, "listen" }, /* 404 */ - { 3, TN, sys_accept, "accept" }, /* 405 */ - { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ - { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ - { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ - { 4, TN, sys_send, "send" }, /* 409 */ - { 4, TN, sys_recv, "recv" }, /* 410 */ - { 6, TN, sys_sendto, "sendto" }, /* 411 */ - { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ - { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ - { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ - { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ - { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ - { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ - -#if SYS_ipc_subcall != 418 - #error fix me -#endif - { 4, 0, printargs, "ipc_subcall" }, /* 418 */ - { 4, TI, sys_semop, "semop" }, /* 419 */ - { 4, TI, sys_semget, "semget" }, /* 420 */ - { 4, TI, sys_semctl, "semctl" }, /* 421 */ - { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ - { 4, 0, printargs, "ipc_subcall" }, /* 423 */ - { 4, 0, printargs, "ipc_subcall" }, /* 424 */ - { 4, 0, printargs, "ipc_subcall" }, /* 425 */ - { 4, 0, printargs, "ipc_subcall" }, /* 426 */ - { 4, 0, printargs, "ipc_subcall" }, /* 427 */ - { 4, 0, printargs, "ipc_subcall" }, /* 428 */ - { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ - { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ - { 4, TI, sys_msgget, "msgget" }, /* 431 */ - { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ - { 4, 0, printargs, "ipc_subcall" }, /* 433 */ - { 4, 0, printargs, "ipc_subcall" }, /* 434 */ - { 4, 0, printargs, "ipc_subcall" }, /* 435 */ - { 4, 0, printargs, "ipc_subcall" }, /* 436 */ - { 4, 0, printargs, "ipc_subcall" }, /* 437 */ - { 4, 0, printargs, "ipc_subcall" }, /* 438 */ - { 4, TI, sys_shmat, "shmat" }, /* 439 */ - { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ - { 4, TI, sys_shmget, "shmget" }, /* 441 */ - { 4, TI, sys_shmctl, "shmctl" }, /* 442 */