Marc CHALAND wrote on 02/22/2008 02:21 PM this:
From Ronald Aigner:
The address of the UTCB is taken in the stub from the environment variable. This environment variable (_dice_corba_env->utcb) is set per default with l4sys_utcb_get which in turn does 'asm( "%gs:0" )'. The problem with Linux applications (running on L4Linux) is that they are linked to a glibc that uses %gs for its own purposes. Therefore, the UTCB pointer is probably bogus and thus UTCB IPC fails.
Wunderbar :). That explains why I encounter problems with L4Linux.
But this task is abolutely not an L4Linux one. It just uses L4env. The values for domain, type and protocol are 2 1 6 on client side and 0x221401 0x0 0x7069776c on server side. Return value is absolutely anything.
Now that really sounds strange. You say that the task is running as L4Env task? No L4Linux involved? Not even on the sender/receiver side of the IPC?
The quick fix is to go back to a version of Dice that does not use UTCB IPC.
Could you tell me which version is the last without UTCB feature ? SVN is not very explicit about it :).
I'd go with revision 233 from public repository.
Regards, Ron.