ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/sigsegv.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/sigsegv.cpp (file contents):
Revision 1.35 by gbeauche, 2003-11-10T23:54:31Z vs.
Revision 1.36 by gbeauche, 2003-11-11T00:10:39Z

# Line 813 | Line 813 | static bool ix86_skip_instruction(unsign
813                  int rloc = x86_reg_map[reg];
814                  switch (transfer_size) {
815                  case SIZE_BYTE:
816 <                        if (!has_rex && reg >= 4)
817 <                                regs[rloc - 4] = (regs[rloc - 4] & ~0xff00L);
818 <                        else
819 <                                regs[rloc] = (regs[rloc] & ~0xffL);
816 >                        if (has_rex || reg < 4)
817 >                                regs[rloc] = (regs[rloc] & ~0x00ffL);
818 >                        else {
819 >                                rloc = x86_reg_map[reg - 4];
820 >                                regs[rloc] = (regs[rloc] & ~0xff00L);
821 >                        }
822                          break;
823                  case SIZE_WORD:
824                          regs[rloc] = (regs[rloc] & ~0xffffL);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines