On Tue, 30 Dec 1997, Eric Delaunay wrote: > Hmm, this patch does not seem to work for me. sys_getdomainname is not known. > I just found a sunos_getdomainname function. I'm trying to use it instead, > but cannot tell you if it work at this time since the kernel is recompiling > ;-) > > BTW, this error comes from getdomainname implementation of libc6. > > # strace ping > execve("/bin/ping", ["ping"], [/* 12 vars */]) = 0 > ... > getdomainname(0x50164dc0, 0x400) = -1 ENOSYS (Function not implemented) > Unimplemented SPARC system call 162
In the kernel source, the comment above the function sys_setdomainname() notes that getdomainname() should be implemented using the uname system call. What I think is happening is that libc6 thinks linux/sparc has a getdomainname() system call because when libc6 is built, it sees the an entry for __NR_getdomainname in include/asm-sparc/unistd.h and assumes that it can use this "system call" instead of some other implementation. Its assumption is wrong because there is a comment there that says "SunOS specific". The correct solution is to patch the libc6 source so that the libc6 doesn't make the assumption that a getdomainname system call exists and instead uses the Linux implementation that calls the uname system call. Note that other platforms don't have this problem because none of them list __NR_getdomainname in <asm/unistd.h> and libc6 then builds using the version of the routine which calls uname. Tom -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .