On Wed, Jan 18, 2006 at 11:27:24PM +0000, Robert Millan wrote: > Author: rmh > Date: 2006-01-18 23:27:24 +0000 (Wed, 18 Jan 2006) > New Revision: 1073 > > Modified: > trunk/glibc-2.3-head/sysdeps/kfreebsd/uname.c > Log: > Rewrite uname.c to use SYS_uname. Runs 1.54 faster. >
This is the comment in the FreeBSD kernel, file sys/kern/kern_xxx.c /* * This is the FreeBSD-1.1 compatable uname(2) interface. These * days it is done in libc as a wrapper around a bunch of sysctl's. * This must maintain the old 1.1 binary ABI. */ Then if you look at the code corresponding to the syscall, you will see that the syscall correspond to a call to the corresponding sysctl, but truncated: ... name[0] = CTL_KERN; name[1] = KERN_OSTYPE; len = sizeof (uap->name->sysname); mtx_lock(&Giant); error = userland_sysctl(td, name, 2, uap->name->sysname, &len, 1, 0, 0, 0); if (error) goto done2; subyte( uap->name->sysname + sizeof(uap->name->sysname) - 1, 0); ... So, in short the current implementation in our glibc is the correct one. Bye, Aurelien -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]