Re: Unimplemented SPARC system call 162
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
debian-sparc-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: