Description of problem: PTRACE_GETVRREGS call returns value with an invalid VRSAVE value. Version-Release number of selected component (if applicable): kernel-2.6.23.1-49.fc8.ppc64 How reproducible: Always. Steps to Reproduce: 1. wget -O powerpc-altivec.c http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/powerpc-altivec.c?cvsroot=systemtap 2. gcc -o powerpc-altivec powerpc-altivec.c -Wall -ggdb2 -m64 -D_GNU_SOURCE 3. ./powerpc-altivec;echo $? Actual results: [132] 0xa5a5a5a5 1 Expected results: 0 Additional info: -m64 in command `2.' can be replacted with -m32 with the same results. While it should be fixed since kernel-2.6.23.1-47.fc8.ppc64 according to the CVS logs my tests do not confirm it.
Created attachment 261921 [details] kernel reportedly-fix by Roland McGrath.
2.6.23.1-49.fc8 is the one I've tested.
Roland, while I believe your patch is right there is some problem that mtspr 256,0x01010101 value does not get mapped into `thread.vrsave'. It should be a problem outside of utrace.
This flavor of machine simply lacks the Altivec hardware support, though the ppc64 kernel always supports it when it's there. I've fixed the test to handle this.