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

Björn Döbel doebel at os.inf.tu-dresden.de
Thu Sep 18 16:51:49 CEST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> On 09/18/2014 09:29 AM, Björn Döbel wrote:
>> Did you see the printf() output before?
> 
> No, that's the only problem I'm struggling with at the moment. 
> There's no error message or the like, but the output does simply
> not appear. What might be the reason for that? A call of
> 'fflush(stdout);' does not do the trick either.

L4Re's printf() (which you are using) sends the printed message to the
application's LOG capability. As you are setting up a new task, I am
guessing that you do not pass any initial set of capabilities with it
(another advantage you'd get by using L4Re's default application
loader btw).

So what I guess happens is that printf() tries to send a message to
LOG. LOG is undefined, hence an invalid cap. The kernel will return an
error instead of sending the message, but you don't see this error as
you are not checking printf()'s return value.

To confirm this, you could try using IPC logging in JDB (I*, IR+, run
for some time, then T for the trace buffer.)

Bjoern
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlQa8X8ACgkQP5ijxgQLUNkKXgCeO9djrizCwfsjjODnut0IPGvT
vgQAoIAfDDN64D+7E0PrQXFq3jOziQ6o
=syPu
-----END PGP SIGNATURE-----




More information about the l4-hackers mailing list