diff options
author | ed <ed@FreeBSD.org> | 2008-11-09 10:45:13 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2008-11-09 10:45:13 +0000 |
commit | 9d3703b8426a4dbb7eb7244d73de96428caf1532 (patch) | |
tree | 54928970669608762abe861909dd03f729e065cb /sys/amd64 | |
parent | 43e6672f4c8f60d63328221a5abc0cc13663d14f (diff) | |
download | FreeBSD-src-9d3703b8426a4dbb7eb7244d73de96428caf1532.zip FreeBSD-src-9d3703b8426a4dbb7eb7244d73de96428caf1532.tar.gz |
Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4.
Looking at our source code history, it seems the uname(),
getdomainname() and setdomainname() system calls got deprecated
somewhere after FreeBSD 1.1, but they have never been phased out
properly. Because we don't have a COMPAT_FREEBSD1, just use
COMPAT_FREEBSD4.
Also fix the Linuxolator to build without the setdomainname() routine by
just making it call userland_sysctl on kern.domainname. Also replace the
setdomainname()'s implementation to use this approach, because we're
duplicating code with sysctl_domainname().
I wasn't able to keep these three routines working in our
COMPAT_FREEBSD32, because that would require yet another keyword for
syscalls.master (COMPAT4+NOPROTO). Because this routine is probably
unused already, this won't be a problem in practice. If it turns out to
be a problem, we'll just restore this functionality.
Reviewed by: rdivacky, kib
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/linux32/syscalls.master | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master index 1b0857d..fe0485e 100644 --- a/sys/amd64/linux32/syscalls.master +++ b/sys/amd64/linux32/syscalls.master @@ -216,7 +216,7 @@ ; linux uses some strange calling convention here so we have to use the dummy arg 120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \ void *parent_tidptr, int dummy, void * child_tidptr); } -121 AUE_SYSCTL NOPROTO { int setdomainname(char *name, \ +121 AUE_SYSCTL STD { int linux_setdomainname(char *name, \ int len); } 122 AUE_NULL STD { int linux_newuname( \ struct l_new_utsname *buf); } |