summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2002-01-23 22:46:14 +0000
committergallatin <gallatin@FreeBSD.org>2002-01-23 22:46:14 +0000
commita91be5985c11ba7151db06a643728a469cd0b87d (patch)
tree07c16a6f488892d9af44deeb9c474b64f1d0d447 /sys
parent153455a7d25042177840a132ce51d12a7daf8c3d (diff)
downloadFreeBSD-src-a91be5985c11ba7151db06a643728a469cd0b87d.zip
FreeBSD-src-a91be5985c11ba7151db06a643728a469cd0b87d.tar.gz
Linux/alpha uses the same BSDish return mechanism we do for
getpid, getuid, getgid and pipe, since they bootstrapped from OSF/1 and never cleaned up. Switch to the native syscalls on alpha so that the above functions work MFC after: 7 days
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/linux/syscalls.master8
-rw-r--r--sys/compat/linux/linux_misc.c4
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/alpha/linux/syscalls.master b/sys/alpha/linux/syscalls.master
index 4a8b5f2..83b7b14 100644
--- a/sys/alpha/linux/syscalls.master
+++ b/sys/alpha/linux/syscalls.master
@@ -61,11 +61,11 @@
18 UNIMPL LINUX
19 STD LINUX { int linux_lseek(l_uint fdes, l_off_t off, \
l_int whence); }
-20 STD LINUX { int linux_getpid(void); }
+20 NOPROTO BSD { int getpid(void); }
21 UNIMPL OSF1 osf1_mount
22 STD LINUX { int linux_umount(char *path, l_int flags); }
23 NOPROTO LINUX { int setuid(uid_t uid); }
-24 STD LINUX { int linux_getuid(void); }
+24 NOPROTO BSD { int getuid(void); }
25 UNIMPL LINUX
26 STD LINUX { int linux_ptrace(void); }
27 UNIMPL LINUX
@@ -83,13 +83,13 @@
39 NOPROTO LINUX { int setpgid(int pid, int pgid); }
40 UNIMPL LINUX
41 NOPROTO LINUX { int dup(u_int fd); }
-42 NOPROTO LINUX { int pipe(void); }
+42 NOPROTO BSD { int pipe(void); }
43 UNIMPL OSF1 osf_set_program_attributes
44 UNIMPL LINUX
45 STD LINUX { int linux_open(char *path, l_int flags, \
l_int mode); }
46 UNIMPL LINUX
-47 STD LINUX { int linux_getgid(void); }
+47 NOPROTO BSD { int getgid(void); }
48 STD OSF1 { int osf1_sigprocmask(int how, u_long mask); }
49 UNIMPL LINUX
50 UNIMPL LINUX
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 605b6ed..5be79bd 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -1284,6 +1284,8 @@ linux_reboot(struct thread *td, struct linux_reboot_args *args)
return (reboot(td, &bsd_args));
}
+#ifndef __alpha__
+
/*
* The FreeBSD native getpid(2), getgid(2) and getuid(2) also modify
* td->td_retval[1] when COMPAT_43 or COMPAT_SUNOS is defined. This
@@ -1320,6 +1322,8 @@ linux_getuid(struct thread *td, struct linux_getuid_args *args)
return (0);
}
+#endif /*!__alpha__*/
+
int
linux_getsid(struct thread *td, struct linux_getsid_args *args)
{
OpenPOWER on IntegriCloud