Commit e5febef5f1811dfd59aa197aad83e96db26a9516
1 parent
2053152b
Conditionalize more syscall implementations, by Mike Frysinger.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2576 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
62 additions
and
2 deletions
linux-user/syscall.c
@@ -2057,6 +2057,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2057,6 +2057,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2057 | case TARGET_NR_fork: | 2057 | case TARGET_NR_fork: |
2058 | ret = get_errno(do_fork(cpu_env, SIGCHLD, 0)); | 2058 | ret = get_errno(do_fork(cpu_env, SIGCHLD, 0)); |
2059 | break; | 2059 | break; |
2060 | +#ifdef TARGET_NR_waitpid | ||
2060 | case TARGET_NR_waitpid: | 2061 | case TARGET_NR_waitpid: |
2061 | { | 2062 | { |
2062 | int status; | 2063 | int status; |
@@ -2065,6 +2066,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2065,6 +2066,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2065 | tput32(arg2, status); | 2066 | tput32(arg2, status); |
2066 | } | 2067 | } |
2067 | break; | 2068 | break; |
2069 | +#endif | ||
2068 | case TARGET_NR_creat: | 2070 | case TARGET_NR_creat: |
2069 | p = lock_user_string(arg1); | 2071 | p = lock_user_string(arg1); |
2070 | ret = get_errno(creat(p, arg2)); | 2072 | ret = get_errno(creat(p, arg2)); |
@@ -2193,11 +2195,13 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2193,11 +2195,13 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2193 | unlock_user(p3, arg3, 0); | 2195 | unlock_user(p3, arg3, 0); |
2194 | break; | 2196 | break; |
2195 | } | 2197 | } |
2198 | +#ifdef TARGET_NR_umount | ||
2196 | case TARGET_NR_umount: | 2199 | case TARGET_NR_umount: |
2197 | p = lock_user_string(arg1); | 2200 | p = lock_user_string(arg1); |
2198 | ret = get_errno(umount(p)); | 2201 | ret = get_errno(umount(p)); |
2199 | unlock_user(p, arg1, 0); | 2202 | unlock_user(p, arg1, 0); |
2200 | break; | 2203 | break; |
2204 | +#endif | ||
2201 | case TARGET_NR_stime: | 2205 | case TARGET_NR_stime: |
2202 | { | 2206 | { |
2203 | time_t host_time; | 2207 | time_t host_time; |
@@ -2217,6 +2221,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2217,6 +2221,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2217 | case TARGET_NR_pause: | 2221 | case TARGET_NR_pause: |
2218 | ret = get_errno(pause()); | 2222 | ret = get_errno(pause()); |
2219 | break; | 2223 | break; |
2224 | +#ifdef TARGET_NR_utime | ||
2220 | case TARGET_NR_utime: | 2225 | case TARGET_NR_utime: |
2221 | { | 2226 | { |
2222 | struct utimbuf tbuf, *host_tbuf; | 2227 | struct utimbuf tbuf, *host_tbuf; |
@@ -2235,6 +2240,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2235,6 +2240,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2235 | unlock_user(p, arg1, 0); | 2240 | unlock_user(p, arg1, 0); |
2236 | } | 2241 | } |
2237 | break; | 2242 | break; |
2243 | +#endif | ||
2238 | case TARGET_NR_utimes: | 2244 | case TARGET_NR_utimes: |
2239 | { | 2245 | { |
2240 | struct timeval *tvp, tv[2]; | 2246 | struct timeval *tvp, tv[2]; |
@@ -2331,9 +2337,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2331,9 +2337,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2331 | case TARGET_NR_prof: | 2337 | case TARGET_NR_prof: |
2332 | goto unimplemented; | 2338 | goto unimplemented; |
2333 | #endif | 2339 | #endif |
2340 | +#ifdef TARGET_NR_signal | ||
2334 | case TARGET_NR_signal: | 2341 | case TARGET_NR_signal: |
2335 | goto unimplemented; | 2342 | goto unimplemented; |
2336 | - | 2343 | +#endif |
2337 | case TARGET_NR_acct: | 2344 | case TARGET_NR_acct: |
2338 | p = lock_user_string(arg1); | 2345 | p = lock_user_string(arg1); |
2339 | ret = get_errno(acct(path(p))); | 2346 | ret = get_errno(acct(path(p))); |
@@ -2391,6 +2398,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2391,6 +2398,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2391 | case TARGET_NR_setsid: | 2398 | case TARGET_NR_setsid: |
2392 | ret = get_errno(setsid()); | 2399 | ret = get_errno(setsid()); |
2393 | break; | 2400 | break; |
2401 | +#ifdef TARGET_NR_sigaction | ||
2394 | case TARGET_NR_sigaction: | 2402 | case TARGET_NR_sigaction: |
2395 | { | 2403 | { |
2396 | #if !defined(TARGET_MIPS) | 2404 | #if !defined(TARGET_MIPS) |
@@ -2445,6 +2453,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2445,6 +2453,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2445 | #endif | 2453 | #endif |
2446 | } | 2454 | } |
2447 | break; | 2455 | break; |
2456 | +#endif | ||
2448 | case TARGET_NR_rt_sigaction: | 2457 | case TARGET_NR_rt_sigaction: |
2449 | { | 2458 | { |
2450 | struct target_sigaction *act; | 2459 | struct target_sigaction *act; |
@@ -2486,6 +2495,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2486,6 +2495,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2486 | ret = target_set; | 2495 | ret = target_set; |
2487 | } | 2496 | } |
2488 | break; | 2497 | break; |
2498 | +#ifdef TARGET_NR_sigprocmask | ||
2489 | case TARGET_NR_sigprocmask: | 2499 | case TARGET_NR_sigprocmask: |
2490 | { | 2500 | { |
2491 | int how = arg1; | 2501 | int how = arg1; |
@@ -2522,6 +2532,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2522,6 +2532,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2522 | } | 2532 | } |
2523 | } | 2533 | } |
2524 | break; | 2534 | break; |
2535 | +#endif | ||
2525 | case TARGET_NR_rt_sigprocmask: | 2536 | case TARGET_NR_rt_sigprocmask: |
2526 | { | 2537 | { |
2527 | int how = arg1; | 2538 | int how = arg1; |
@@ -2558,6 +2569,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2558,6 +2569,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2558 | } | 2569 | } |
2559 | } | 2570 | } |
2560 | break; | 2571 | break; |
2572 | +#ifdef TARGET_NR_sigpending | ||
2561 | case TARGET_NR_sigpending: | 2573 | case TARGET_NR_sigpending: |
2562 | { | 2574 | { |
2563 | sigset_t set; | 2575 | sigset_t set; |
@@ -2569,6 +2581,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2569,6 +2581,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2569 | } | 2581 | } |
2570 | } | 2582 | } |
2571 | break; | 2583 | break; |
2584 | +#endif | ||
2572 | case TARGET_NR_rt_sigpending: | 2585 | case TARGET_NR_rt_sigpending: |
2573 | { | 2586 | { |
2574 | sigset_t set; | 2587 | sigset_t set; |
@@ -2580,6 +2593,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2580,6 +2593,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2580 | } | 2593 | } |
2581 | } | 2594 | } |
2582 | break; | 2595 | break; |
2596 | +#ifdef TARGET_NR_sigsuspend | ||
2583 | case TARGET_NR_sigsuspend: | 2597 | case TARGET_NR_sigsuspend: |
2584 | { | 2598 | { |
2585 | sigset_t set; | 2599 | sigset_t set; |
@@ -2589,6 +2603,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2589,6 +2603,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2589 | ret = get_errno(sigsuspend(&set)); | 2603 | ret = get_errno(sigsuspend(&set)); |
2590 | } | 2604 | } |
2591 | break; | 2605 | break; |
2606 | +#endif | ||
2592 | case TARGET_NR_rt_sigsuspend: | 2607 | case TARGET_NR_rt_sigsuspend: |
2593 | { | 2608 | { |
2594 | sigset_t set; | 2609 | sigset_t set; |
@@ -2630,10 +2645,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2630,10 +2645,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2630 | ret = get_errno(sys_rt_sigqueueinfo(arg1, arg2, &uinfo)); | 2645 | ret = get_errno(sys_rt_sigqueueinfo(arg1, arg2, &uinfo)); |
2631 | } | 2646 | } |
2632 | break; | 2647 | break; |
2648 | +#ifdef TARGET_NR_sigreturn | ||
2633 | case TARGET_NR_sigreturn: | 2649 | case TARGET_NR_sigreturn: |
2634 | /* NOTE: ret is eax, so not transcoding must be done */ | 2650 | /* NOTE: ret is eax, so not transcoding must be done */ |
2635 | ret = do_sigreturn(cpu_env); | 2651 | ret = do_sigreturn(cpu_env); |
2636 | break; | 2652 | break; |
2653 | +#endif | ||
2637 | case TARGET_NR_rt_sigreturn: | 2654 | case TARGET_NR_rt_sigreturn: |
2638 | /* NOTE: ret is eax, so not transcoding must be done */ | 2655 | /* NOTE: ret is eax, so not transcoding must be done */ |
2639 | ret = do_rt_sigreturn(cpu_env); | 2656 | ret = do_rt_sigreturn(cpu_env); |
@@ -2739,17 +2756,24 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2739,17 +2756,24 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2739 | unlock_user(p, arg1, 0); | 2756 | unlock_user(p, arg1, 0); |
2740 | } | 2757 | } |
2741 | break; | 2758 | break; |
2759 | +#ifdef TARGET_NR_uselib | ||
2742 | case TARGET_NR_uselib: | 2760 | case TARGET_NR_uselib: |
2743 | goto unimplemented; | 2761 | goto unimplemented; |
2762 | +#endif | ||
2763 | +#ifdef TARGET_NR_swapon | ||
2744 | case TARGET_NR_swapon: | 2764 | case TARGET_NR_swapon: |
2745 | p = lock_user_string(arg1); | 2765 | p = lock_user_string(arg1); |
2746 | ret = get_errno(swapon(p, arg2)); | 2766 | ret = get_errno(swapon(p, arg2)); |
2747 | unlock_user(p, arg1, 0); | 2767 | unlock_user(p, arg1, 0); |
2748 | break; | 2768 | break; |
2769 | +#endif | ||
2749 | case TARGET_NR_reboot: | 2770 | case TARGET_NR_reboot: |
2750 | goto unimplemented; | 2771 | goto unimplemented; |
2772 | +#ifdef TARGET_NR_readdir | ||
2751 | case TARGET_NR_readdir: | 2773 | case TARGET_NR_readdir: |
2752 | goto unimplemented; | 2774 | goto unimplemented; |
2775 | +#endif | ||
2776 | +#ifdef TARGET_NR_mmap | ||
2753 | case TARGET_NR_mmap: | 2777 | case TARGET_NR_mmap: |
2754 | #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_M68K) | 2778 | #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_M68K) |
2755 | { | 2779 | { |
@@ -2774,6 +2798,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2774,6 +2798,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2774 | arg6)); | 2798 | arg6)); |
2775 | #endif | 2799 | #endif |
2776 | break; | 2800 | break; |
2801 | +#endif | ||
2777 | #ifdef TARGET_NR_mmap2 | 2802 | #ifdef TARGET_NR_mmap2 |
2778 | case TARGET_NR_mmap2: | 2803 | case TARGET_NR_mmap2: |
2779 | #if defined(TARGET_SPARC) || defined(TARGET_MIPS) | 2804 | #if defined(TARGET_SPARC) || defined(TARGET_MIPS) |
@@ -2793,25 +2818,37 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2793,25 +2818,37 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2793 | case TARGET_NR_mprotect: | 2818 | case TARGET_NR_mprotect: |
2794 | ret = get_errno(target_mprotect(arg1, arg2, arg3)); | 2819 | ret = get_errno(target_mprotect(arg1, arg2, arg3)); |
2795 | break; | 2820 | break; |
2821 | +#ifdef TARGET_NR_mremap | ||
2796 | case TARGET_NR_mremap: | 2822 | case TARGET_NR_mremap: |
2797 | ret = get_errno(target_mremap(arg1, arg2, arg3, arg4, arg5)); | 2823 | ret = get_errno(target_mremap(arg1, arg2, arg3, arg4, arg5)); |
2798 | break; | 2824 | break; |
2825 | +#endif | ||
2799 | /* ??? msync/mlock/munlock are broken for softmmu. */ | 2826 | /* ??? msync/mlock/munlock are broken for softmmu. */ |
2827 | +#ifdef TARGET_NR_msync | ||
2800 | case TARGET_NR_msync: | 2828 | case TARGET_NR_msync: |
2801 | ret = get_errno(msync(g2h(arg1), arg2, arg3)); | 2829 | ret = get_errno(msync(g2h(arg1), arg2, arg3)); |
2802 | break; | 2830 | break; |
2831 | +#endif | ||
2832 | +#ifdef TARGET_NR_mlock | ||
2803 | case TARGET_NR_mlock: | 2833 | case TARGET_NR_mlock: |
2804 | ret = get_errno(mlock(g2h(arg1), arg2)); | 2834 | ret = get_errno(mlock(g2h(arg1), arg2)); |
2805 | break; | 2835 | break; |
2836 | +#endif | ||
2837 | +#ifdef TARGET_NR_munlock | ||
2806 | case TARGET_NR_munlock: | 2838 | case TARGET_NR_munlock: |
2807 | ret = get_errno(munlock(g2h(arg1), arg2)); | 2839 | ret = get_errno(munlock(g2h(arg1), arg2)); |
2808 | break; | 2840 | break; |
2841 | +#endif | ||
2842 | +#ifdef TARGET_NR_mlockall | ||
2809 | case TARGET_NR_mlockall: | 2843 | case TARGET_NR_mlockall: |
2810 | ret = get_errno(mlockall(arg1)); | 2844 | ret = get_errno(mlockall(arg1)); |
2811 | break; | 2845 | break; |
2846 | +#endif | ||
2847 | +#ifdef TARGET_NR_munlockall | ||
2812 | case TARGET_NR_munlockall: | 2848 | case TARGET_NR_munlockall: |
2813 | ret = get_errno(munlockall()); | 2849 | ret = get_errno(munlockall()); |
2814 | break; | 2850 | break; |
2851 | +#endif | ||
2815 | case TARGET_NR_truncate: | 2852 | case TARGET_NR_truncate: |
2816 | p = lock_user_string(arg1); | 2853 | p = lock_user_string(arg1); |
2817 | ret = get_errno(truncate(p, arg2)); | 2854 | ret = get_errno(truncate(p, arg2)); |
@@ -2889,10 +2926,11 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -2889,10 +2926,11 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
2889 | case TARGET_NR_ioperm: | 2926 | case TARGET_NR_ioperm: |
2890 | goto unimplemented; | 2927 | goto unimplemented; |
2891 | #endif | 2928 | #endif |
2929 | +#ifdef TARGET_NR_socketcall | ||
2892 | case TARGET_NR_socketcall: | 2930 | case TARGET_NR_socketcall: |
2893 | ret = do_socketcall(arg1, arg2); | 2931 | ret = do_socketcall(arg1, arg2); |
2894 | break; | 2932 | break; |
2895 | - | 2933 | +#endif |
2896 | #ifdef TARGET_NR_accept | 2934 | #ifdef TARGET_NR_accept |
2897 | case TARGET_NR_accept: | 2935 | case TARGET_NR_accept: |
2898 | ret = do_accept(arg1, arg2, arg3); | 2936 | ret = do_accept(arg1, arg2, arg3); |
@@ -3101,11 +3139,13 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3101,11 +3139,13 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3101 | } | 3139 | } |
3102 | } | 3140 | } |
3103 | break; | 3141 | break; |
3142 | +#ifdef TARGET_NR_swapoff | ||
3104 | case TARGET_NR_swapoff: | 3143 | case TARGET_NR_swapoff: |
3105 | p = lock_user_string(arg1); | 3144 | p = lock_user_string(arg1); |
3106 | ret = get_errno(swapoff(p)); | 3145 | ret = get_errno(swapoff(p)); |
3107 | unlock_user(p, arg1, 0); | 3146 | unlock_user(p, arg1, 0); |
3108 | break; | 3147 | break; |
3148 | +#endif | ||
3109 | case TARGET_NR_sysinfo: | 3149 | case TARGET_NR_sysinfo: |
3110 | { | 3150 | { |
3111 | struct target_sysinfo *target_value; | 3151 | struct target_sysinfo *target_value; |
@@ -3133,9 +3173,11 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3133,9 +3173,11 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3133 | } | 3173 | } |
3134 | } | 3174 | } |
3135 | break; | 3175 | break; |
3176 | +#ifdef TARGET_NR_ipc | ||
3136 | case TARGET_NR_ipc: | 3177 | case TARGET_NR_ipc: |
3137 | ret = do_ipc(arg1, arg2, arg3, arg4, arg5, arg6); | 3178 | ret = do_ipc(arg1, arg2, arg3, arg4, arg5, arg6); |
3138 | break; | 3179 | break; |
3180 | +#endif | ||
3139 | case TARGET_NR_fsync: | 3181 | case TARGET_NR_fsync: |
3140 | ret = get_errno(fsync(arg1)); | 3182 | ret = get_errno(fsync(arg1)); |
3141 | break; | 3183 | break; |
@@ -3184,10 +3226,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3184,10 +3226,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3184 | #endif | 3226 | #endif |
3185 | case TARGET_NR_adjtimex: | 3227 | case TARGET_NR_adjtimex: |
3186 | goto unimplemented; | 3228 | goto unimplemented; |
3229 | +#ifdef TARGET_NR_create_module | ||
3187 | case TARGET_NR_create_module: | 3230 | case TARGET_NR_create_module: |
3231 | +#endif | ||
3188 | case TARGET_NR_init_module: | 3232 | case TARGET_NR_init_module: |
3189 | case TARGET_NR_delete_module: | 3233 | case TARGET_NR_delete_module: |
3234 | +#ifdef TARGET_NR_get_kernel_syms | ||
3190 | case TARGET_NR_get_kernel_syms: | 3235 | case TARGET_NR_get_kernel_syms: |
3236 | +#endif | ||
3191 | goto unimplemented; | 3237 | goto unimplemented; |
3192 | case TARGET_NR_quotactl: | 3238 | case TARGET_NR_quotactl: |
3193 | goto unimplemented; | 3239 | goto unimplemented; |
@@ -3199,13 +3245,17 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3199,13 +3245,17 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3199 | break; | 3245 | break; |
3200 | case TARGET_NR_bdflush: | 3246 | case TARGET_NR_bdflush: |
3201 | goto unimplemented; | 3247 | goto unimplemented; |
3248 | +#ifdef TARGET_NR_sysfs | ||
3202 | case TARGET_NR_sysfs: | 3249 | case TARGET_NR_sysfs: |
3203 | goto unimplemented; | 3250 | goto unimplemented; |
3251 | +#endif | ||
3204 | case TARGET_NR_personality: | 3252 | case TARGET_NR_personality: |
3205 | ret = get_errno(personality(arg1)); | 3253 | ret = get_errno(personality(arg1)); |
3206 | break; | 3254 | break; |
3255 | +#ifdef TARGET_NR_afs_syscall | ||
3207 | case TARGET_NR_afs_syscall: | 3256 | case TARGET_NR_afs_syscall: |
3208 | goto unimplemented; | 3257 | goto unimplemented; |
3258 | +#endif | ||
3209 | case TARGET_NR__llseek: | 3259 | case TARGET_NR__llseek: |
3210 | { | 3260 | { |
3211 | #if defined (__x86_64__) | 3261 | #if defined (__x86_64__) |
@@ -3319,9 +3369,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3319,9 +3369,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3319 | } | 3369 | } |
3320 | break; | 3370 | break; |
3321 | #endif /* TARGET_NR_getdents64 */ | 3371 | #endif /* TARGET_NR_getdents64 */ |
3372 | +#ifdef TARGET_NR__newselect | ||
3322 | case TARGET_NR__newselect: | 3373 | case TARGET_NR__newselect: |
3323 | ret = do_select(arg1, arg2, arg3, arg4, arg5); | 3374 | ret = do_select(arg1, arg2, arg3, arg4, arg5); |
3324 | break; | 3375 | break; |
3376 | +#endif | ||
3377 | +#ifdef TARGET_NR_poll | ||
3325 | case TARGET_NR_poll: | 3378 | case TARGET_NR_poll: |
3326 | { | 3379 | { |
3327 | struct target_pollfd *target_pfd; | 3380 | struct target_pollfd *target_pfd; |
@@ -3347,6 +3400,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3347,6 +3400,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3347 | unlock_user(target_pfd, arg1, ret); | 3400 | unlock_user(target_pfd, arg1, ret); |
3348 | } | 3401 | } |
3349 | break; | 3402 | break; |
3403 | +#endif | ||
3350 | case TARGET_NR_flock: | 3404 | case TARGET_NR_flock: |
3351 | /* NOTE: the flock constant seems to be the same for every | 3405 | /* NOTE: the flock constant seems to be the same for every |
3352 | Linux platform */ | 3406 | Linux platform */ |
@@ -3448,10 +3502,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -3448,10 +3502,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
3448 | } | 3502 | } |
3449 | } | 3503 | } |
3450 | break; | 3504 | break; |
3505 | +#ifdef TARGET_NR_query_module | ||
3451 | case TARGET_NR_query_module: | 3506 | case TARGET_NR_query_module: |
3452 | goto unimplemented; | 3507 | goto unimplemented; |
3508 | +#endif | ||
3509 | +#ifdef TARGET_NR_nfsservctl | ||
3453 | case TARGET_NR_nfsservctl: | 3510 | case TARGET_NR_nfsservctl: |
3454 | goto unimplemented; | 3511 | goto unimplemented; |
3512 | +#endif | ||
3455 | case TARGET_NR_prctl: | 3513 | case TARGET_NR_prctl: |
3456 | switch (arg1) | 3514 | switch (arg1) |
3457 | { | 3515 | { |
@@ -4004,8 +4062,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -4004,8 +4062,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
4004 | case TARGET_NR_gettid: | 4062 | case TARGET_NR_gettid: |
4005 | ret = get_errno(gettid()); | 4063 | ret = get_errno(gettid()); |
4006 | break; | 4064 | break; |
4065 | +#ifdef TARGET_NR_readahead | ||
4007 | case TARGET_NR_readahead: | 4066 | case TARGET_NR_readahead: |
4008 | goto unimplemented; | 4067 | goto unimplemented; |
4068 | +#endif | ||
4009 | #ifdef TARGET_NR_setxattr | 4069 | #ifdef TARGET_NR_setxattr |
4010 | case TARGET_NR_setxattr: | 4070 | case TARGET_NR_setxattr: |
4011 | case TARGET_NR_lsetxattr: | 4071 | case TARGET_NR_lsetxattr: |