Hi, I traced a long standing cifs issue to 5c the compiler.
The code in lib9p to validate wstat calls uses a neat bit of casting which fails when using 5c. /sys/src/lib9p/srv.c:658-669 These following lines missfire reporting type or qid change when trying to rename files over cifs. if((ushort)~r->d.type){ ... if((uchar)~r->d.qid.type || .. ){ but rewriting them like this makes the code work as expected: if(r->d.type != (ushort)~0){ ... if(r->d.qid.type != (uchar)~0 || ... ) Personally I am happy to hack lib9p but the worry is that this bug might be affecting other things. I have no knowledge of the internals of the compilers so I am afraid I have made no attempt to dig deeper. -Steve