hi,
The TestX8664Modify test case will never be run because the following
two reasons:
1)the case creates one AttachedDaemonProcess executing
"funit-ia32-modify" which will do nothing when the platform is X86_64.
2) When the case adds observers to task, it will check whether the
task's ISA is one instance object of LinuxIa32. On X86_64, the condition
will never be meet, so no observers are added, which makes the case
passed in our previous tests.
During adding TestPPC64Modify case and merging the Test<ISA>Modify into
one case, we found the above problem. After we corrected the above two
problems, the case failed. So we traced down the source codes and did
one patch to fix the case.
In the patch, we move all operations on registers from the
updateSyscallEnter() into updateSyscallExit(). During the tests, we
find the register rcx's value will be modified after we put it in but
before the funit-x8664-modify.S reads it(we guess it's done by syscall,
but not sure). So we remove all operations on the rcx.
2006-08-30 Yong Zheng <zhengyo@cn.ibm.com>
* frysk/proc/TestX8664Modify.java: Move all operations on
registers from updateSyscallEnter() into updateSyscallExit().
* frysk/pkglibexecdir/funit-x8664-modify.S: Ignore the check on
register "rcx".
Rebuild the frysk based on the cvs head(08-30).
please review. ok to commit? Thanks.