|
From: John M. <me...@ge...> - 2010-07-28 23:36:48
|
Hi All, I ran into the same issues that others have regarding ppc 85xx SPE instructions used by MontaVista libs compiled with the ppc_85xx toolchain. I also ran into some of the same issues with cross-compiling valgrind under MontaVista CGE 5.0. By adding selected instructions to Valgrind, I have successfully been able to run valgrind 3.5.0 on a non-trivial application under CGE 5.0 on a ppc_85xx target. I will post the patches I used to do this in the following emails. I learned quite a bit about Valgrind along the way, and would probably do things a little bit differently if I were to start over, but the one that pays me to do things does not want to pay me to clean it up, so I post it here in the hope that it is useful to someone. A bit of history, for those that care about such things: SPE (Signal Processing Extensions) is an optional ppc instruction set that does some floating point and vector operations. Rather than use the FP registers, it extends the GPRs to 64 bits and uses those. It uses the same opcode space as the Altivec instructions. gcc for ppc_85xx emits some SPE instructions for certain code sequences, which show up in MontaVista libraries and ld.so, so it is not easy to avoid them. Enjoy! John Mehaffey |