Cross-compiling L4Re for MIPS32

Paul Boddie paul at boddie.org.uk
Tue Jun 14 00:42:11 CEST 2016


On Tuesday 14. June 2016 00.16.35 Adam Lackorzynski wrote:
> On Mon Jun 13, 2016 at 12:50:07 +0200, Paul Boddie wrote:
> > 
> > I'm compiling in a Debian unstable chroot on i386. Are you still using
> > i386 to build with? Recent experiences with other projects indicate that
> > support for i386 sometimes falls behind amd64, although I have no idea
> > or immediate recollection why the unistd.h behaviour changed as
> > indicated above.
> 
> Although amd64 is in the majority, i386 is still in the game, and I've
> never seen this before. Also, __NR_open is not used directly, thus my
> question, where is it missing?

In src/l4/tool/gendep/syscall.c there is this include:

#include <unistd.h>

(There are actually two of them.) This header eventually includes the 
following file:

/usr/include/asm-generic/unistd.h

This is provided by the following packages:

linux-libc-dev:i386, linux-libc-dev:mipsel

In the file in question, I see the following...

/*
 * All syscalls below here should go away really,
 * these are provided for both review and as a porting
 * help for the C library version.
 *
 * Last chance: are any of these important enough to
 * enable by default?
 */
#ifdef __ARCH_WANT_SYSCALL_NO_AT
#define __NR_open 1024
__SYSCALL(__NR_open, sys_open)

Now, I imagine that the "at-less" syscalls are deprecated (according to some 
definition of the word, maybe only for the Linux people), but perhaps this 
decision isn't exposed in other distributions. But I really don't know why 
this is a problem only for me.

Paul




More information about the l4-hackers mailing list