Problem with hybrid L4Linux task
mkrause at Informatik.TU-Cottbus.DE
Mon Sep 19 17:45:22 CEST 2005
I've got a problem with a hybrid Linux Task. I want to create a little
tool to tranfser data between two L4Linuxes easily. A tool similar to
the famous netcat but using IPC instead of UDP/TCP. So far so good.
Server is listen for client and client is sending data to the server
(using long IPC transfering data as dwords). The problem is that the
data doesn't arrive at the server task. There only an empty IPC message
gets received (no IPC error).
After I've played around a while with debug messages I got strange
results. Using debug messages (simple printf()) inbetween and the
Digging a little deeper got me to the point that it must be a problem
with the compiler. Using 'gcc -O0' generates working code too - 'gcc -O2'
doesn't. Trying another compiler (gcc version 4.0.1 (Debian 4.0.1-2))
with -O2 got me also working code.
So my question is if really my gcc (version 3.3.5 (Debian 1:3.3.5-13))
is broken or the includes under l4/l4sys/.../ipc.h. Maybe the inline
assembly isn't that clean? But just a guess. My GNU assembly knowlegde
isn't that good.
PS: I'm runing Debian sarge over here.
More information about the l4-hackers