[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: