commit 26002 breaks compile on m68k nommu.

Mike Frysinger vapier at gentoo.org
Fri Jul 3 19:56:54 UTC 2009


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20090703/5837b26d/attachment.pgp>


More information about the uClibc mailing list