Bug 397187

Summary: z13 vector register support for vgdb gdbserver
Product: [Developer tools] valgrind Reporter: Mark Wielaard <mark>
Component: generalAssignee: Andreas Arnez <arnez>
Status: RESOLVED FIXED    
Severity: normal CC: arnez, jseward
Priority: NOR    
Version: 3.14 SVN   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Add vector register support for vgdb

Description Mark Wielaard 2018-08-05 18:36:31 UTC
Bugs #385408, #385409, #385410 and #385411 are adding s390x z13 vector instructions and new vector registers (v0-v31). The valgrind gdbserver should also know about these.

v0-v15 "share" the low 64bits with f0-f15. v16-v31 are new full 128bit wide.
See also https://sourceware.org/gdb/onlinedocs/gdb/S_002f390-and-System-z-Features.html how gdb combines them.
Comment 1 Andreas Arnez 2018-10-18 17:04:54 UTC
Created attachment 115734 [details]
Add vector register support for vgdb

This provides the missing vector register support for Valgrind's gdbserver.
Comment 2 Andreas Arnez 2018-10-25 18:24:58 UTC
(In reply to Andreas Arnez from comment #1)
> Created attachment 115734 [details]
> Add vector register support for vgdb
Is this OK?  Please let me know if I may have missed anything.
Comment 3 Julian Seward 2018-11-09 09:34:45 UTC
(In reply to Andreas Arnez from comment #2)
> Is this OK?  Please let me know if I may have missed anything.

Looks OK.  +1 to land provided you're sure that the various magic numbers are
correct, in particular the "case 52:" etc in transfer_register and the offset
numbers, eg "{ "v23", 4704, 128 }", in tatic struct reg regs[].
Comment 4 Andreas Arnez 2018-11-14 16:03:15 UTC
(In reply to Julian Seward from comment #3)
> Looks OK.  +1 to land provided you're sure that the various magic numbers are
> correct, in particular the "case 52:" etc in transfer_register and the offset
> numbers, eg "{ "v23", 4704, 128 }", in tatic struct reg regs[].
Thanks.  Yes, I'm fairly positive that these magic numbers are correct.  (I didn't change to a less magic way because this would affect the existing code as well.)

Pushed as git commit 50bd2282b.