l4/sys/syscalls.h: No such file or directory

Valentin Hauner valentinhauner at gmx.de
Thu Sep 18 09:19:09 CEST 2014


Hi,

On 09/17/2014 04:31 PM, Björn Döbel wrote:
> In the end means, that your stack mapping did not succeed as intended.

OK, that helped. Indeed, some of the arguments concerning the size of
the area to map were wrong. Now, there is no page fault on the stack any
more.

Then, I got the following pf:
> pf:  0026 pfa=affff800 ip=affff800 (r-) spc=0xfcffae94 err=4
Using objdump on my binary, I've found out that it has something to do
with 'l4sys_invoke_direct'. In the end, I've mapped this address to the
new task, and the page fault is gone. Is there any more elegant way to
do this?

The next page fault I'm getting is this:
pf:  0026 pfa=b1007f1c ip=01009980 (r-) spc=0xfcffae94 err=4
A call of addr2line on 0x01009980 gives me:
> l4/pkg/uclibc/lib/uclibc/_exit.cc:14
I guess it's related with the call of exit at the end of my thread function.

> void thread_func(l4_umword_t cap)
> {
>   printf("Hello World!\n");
>   exit(0);
> }

If I remove that exit call, I will get a read page fault on pc=0 since
the function tries to jump back to its caller, but there is no caller,
so the address lying on the stack is 0.

How can I map all those library functions to my new task?

Best regards,
Valentin



More information about the l4-hackers mailing list