|
From: Cerion Armour-B. <ce...@op...> - 2006-01-10 09:37:26
|
On Tuesday 10 January 2006 01:43, Uttam Pawar wrote:
...
> > > > none/tests/ppc32/jm-insns (stdout)
> > > > none/tests/ppc32/jm-insns (stderr)
> > >
> > > These should not fail -- tests of the basic integer instruction set.
> > > Can you send
> > >
> > > none/tests/ppc32/jm-insns.stdout.diff and
> > > none/tests/ppc32/jm-insns.stderr.diff
> > >
> > > so we can see why they failed.
>
> Strangely, these 2 tests did pass on a PPC970, altivec supported machine
> but failed on power4 and power5 platform.
Not so strange - we developed on a ppc970 :-)
> $ cat none/tests/ppc32/jm-insns.stderr.diff
>
> *** jm-insns.stderr.exp 2005-11-25 04:36:08.000000000 -0800
> --- jm-insns.stderr.out 2006-01-06 14:07:49.000000000 -0800
> ***************
> *** 1 ****
> --- 2,18 ----
> + disInstr(ppc32): unhandled instruction: 0x........
> + primary 31(0x........), secondary 206(0x........)
> + Your program just tried to execute an instruction that Valgrind
> + did not recognise. There are two possible reasons for this.
> + 1. Your program has a bug and erroneously jumped to a non-code
> + location. If you are running Memcheck and you just saw a
> + warning about a bad jump, it's probably your program's fault.
> + 2. The instruction is legitimate but Valgrind doesn't handle it,
> + i.e. it's Valgrind's fault. If you think this is the case or
> + you are not sure, please let us know.
> + Either way, Valgrind will now raise a SIGILL signal which will
> + probably kill your program.
> +
> + Process terminating with default action of signal 4 (SIGILL)
> + Illegal opcode at address 0x........
> + at 0x........: build_viargs_table (in
> /home/pawar/valgrind-3.1.0/none/tests/ppc32/jm-insns) + by 0x........:
> main (in /home/pawar/valgrind-3.1.0/none/tests/ppc32/jm-insns)
Ok, it's a missing instruction.
Hmm - you're not getting the hex printouts...
Can you change VEX/priv/guest-ppc/toIR.c thusly:
vex_printf("disInstr(ppc): unhandled instruction: "
- "0x%x\n", theInstr);
+ "%u\n", theInstr);
Rebuild, run the test, and repost none/tests/ppc32/jm-insns.stderr.diff
- To run just that one test (from dir valgrind-3.1.0):
$ perl ./tests/vg_regtest ./none/tests/ppc32/jm-insns
> 2) File "none/tests/ppc32/jm-insns.stdout.diff" is quite large, so sending
> as an attachment with this email.
This is indicating no output at all by valgrind - ignore until we solve the
missing insn problem.
Thanks,
Cerion
|