Bug 397187 - z13 vector register support for vgdb gdbserver
Summary: z13 vector register support for vgdb gdbserver
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.14 SVN
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Andreas Arnez
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-05 18:36 UTC by Mark Wielaard
Modified: 2018-11-14 16:03 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Add vector register support for vgdb (17.24 KB, patch)
2018-10-18 17:04 UTC, Andreas Arnez
Details

Note You need to log in before you can comment on or make changes to this bug.
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.