I'm finding that in a Linux/MIPS module the test case attached executes the
'if' clause in
if A
B
else
C
in the order A, C, B when A is false and correctly (A, B) when A is true.
This is with GCC version egcs-2.90.29 980515 (egcs-1.0.3 release) and
binutils 2.8.1 (with BFD 2.8.1).
The asm in this routine looks good and I can keep the code from failing by
removing the request_irq() and replacing it with something else that
doesn't call into the kernel. I can't reproduce this in user-code or in
kernel code.
Does anyone have any suggestions? Perhaps a suggestion for modutils
version?
|