On Tuesday 14 April 2009 14:13:21 Lennart Sorensen wrote: > Commit 26002 attemps to implement the deamon() call on nommu systems. > It unfortunately did so using INTENAL_SYSCALL which doesn't exist on m68k, > and hence compiles of m68k nommu now fail. > > I suspect it should be using something similar to _exit.c to access > the clone and exit syscalls, or one of the _syscall# functions, but I > can't quite make sense of what INTERNAL_SYSCALL actually does on other > architectures enough to actually fix it. > > Maybe someone with a clue about syscalls can propose a simple fix > for this.
INTERNAL_SYSCALL() only does the system call. it does not interpret the return value in any way. INLINE_SYSCALL() calls INTERNAL_SYSCALL(), and then handles the normal return/errno semantics. the classic _syscall#() macros do the same thing, but create a function in the process. so afaik, we should be able to move the _syscall#() macros out of the arch-specific headers and into the common header and have it be based off of the INLINE_SYSCALL() macro. and if we really wanted to, we could even move INLINE_SYSCALL() to common code and just require people to implement the 4 INTERNAL_SYSCALL aspects. check out the Blackfin header ... i think it's fairly straightforward ... but if you're still in doubt, you should be able to copy & paste the implementation from glibc -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc