of V bits in vgdb.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12443
293088 Add some VEX sanity checks for ppc64 unhandled instructions
294055 regtest none/tests/shell fails when locale is not set to C
294190 --vgdb-error=xxx can be out of sync with errors shown to the user
+n-i-bz s390x: Shadow registers can now be examined using vgdb
+
Release 3.7.0 (5 November 2011)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_gdbserver/powerpc-altivec32l-valgrind.xml \
m_gdbserver/powerpc-altivec32l.xml \
m_gdbserver/powerpc-altivec64l-valgrind.xml \
- m_gdbserver/powerpc-altivec64l.xml
+ m_gdbserver/powerpc-altivec64l.xml \
+ m_gdbserver/s390-acr-valgrind-s1.xml \
+ m_gdbserver/s390-acr-valgrind-s2.xml \
+ m_gdbserver/s390-acr.xml \
+ m_gdbserver/s390-fpr-valgrind-s1.xml \
+ m_gdbserver/s390-fpr-valgrind-s2.xml \
+ m_gdbserver/s390-fpr.xml \
+ m_gdbserver/s390x-core64-valgrind-s1.xml \
+ m_gdbserver/s390x-core64-valgrind-s2.xml \
+ m_gdbserver/s390x-core64.xml \
+ m_gdbserver/s390x-generic-valgrind.xml \
+ m_gdbserver/s390x-generic.xml \
+ m_gdbserver/s390x-linux64-valgrind-s1.xml \
+ m_gdbserver/s390x-linux64-valgrind-s2.xml \
+ m_gdbserver/s390x-linux64.xml
# so as to make sure these get copied into the install tree
vglibdir = $(pkglibdir)
Modify coregrind/Makefile.am:
add valgrind-low-hal9000.c
- If you have target xml description, also add them in pkglib_DATA
+ If you have target xml description, also add them to GDBSERVER_XML_FILES
TODO and/or additional nice things to have
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr-valgrind-s1">
+ <reg name="acr0s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr1s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr2s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr3s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr4s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr5s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr6s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr7s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr8s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr9s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr10s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr11s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr12s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr13s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr14s1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr15s1" bitsize="32" type="uint32" group="access"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr-valgrind-s2">
+ <reg name="acr0s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr1s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr2s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr3s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr4s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr5s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr6s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr7s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr8s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr9s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr10s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr11s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr12s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr13s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr14s2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr15s2" bitsize="32" type="uint32" group="access"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr">
+ <reg name="acr0" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr1" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr2" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr3" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr4" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr5" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr6" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr7" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr8" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr9" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr10" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr11" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr12" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr13" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr14" bitsize="32" type="uint32" group="access"/>
+ <reg name="acr15" bitsize="32" type="uint32" group="access"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr-valgrind-s1">
+ <reg name="fpcs1" bitsize="32" type="uint32" group="float"/>
+ <reg name="f0s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f1s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f2s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f3s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f4s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f5s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f6s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f7s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f8s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f9s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f10s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f11s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f12s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f13s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f14s1" bitsize="64" type="uint64" group="float"/>
+ <reg name="f15s1" bitsize="64" type="uint64" group="float"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr-valgrind-s2">
+ <reg name="fpcs2" bitsize="32" type="uint32" group="float"/>
+ <reg name="f0s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f1s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f2s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f3s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f4s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f5s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f6s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f7s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f8s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f9s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f10s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f11s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f12s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f13s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f14s2" bitsize="64" type="uint64" group="float"/>
+ <reg name="f15s2" bitsize="64" type="uint64" group="float"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr">
+ <reg name="fpc" bitsize="32" type="uint32" group="float"/>
+ <reg name="f0" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f1" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f2" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f3" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f4" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f5" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f6" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f7" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f8" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f9" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f10" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f11" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f12" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f13" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f14" bitsize="64" type="ieee_double" group="float"/>
+ <reg name="f15" bitsize="64" type="ieee_double" group="float"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core-valgrind-s1">
+ <reg name="pswms1" bitsize="64" type="uint64" group="psw"/>
+ <reg name="pswas1" bitsize="64" type="uint64" group="psw"/>
+ <reg name="r0s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r1s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r2s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r3s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r4s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r5s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r6s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r7s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r8s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r9s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r10s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r11s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r12s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r13s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r14s1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r15s1" bitsize="64" type="uint64" group="general"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core-valgrind-s2">
+ <reg name="pswms2" bitsize="64" type="uint64" group="psw"/>
+ <reg name="pswas2" bitsize="64" type="uint64" group="psw"/>
+ <reg name="r0s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r1s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r2s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r3s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r4s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r5s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r6s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r7s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r8s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r9s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r10s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r11s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r12s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r13s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r14s2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r15s2" bitsize="64" type="uint64" group="general"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core">
+ <reg name="pswm" bitsize="64" type="uint64" group="psw"/>
+ <reg name="pswa" bitsize="64" type="uint64" group="psw"/>
+ <reg name="r0" bitsize="64" type="uint64" group="general"/>
+ <reg name="r1" bitsize="64" type="uint64" group="general"/>
+ <reg name="r2" bitsize="64" type="uint64" group="general"/>
+ <reg name="r3" bitsize="64" type="uint64" group="general"/>
+ <reg name="r4" bitsize="64" type="uint64" group="general"/>
+ <reg name="r5" bitsize="64" type="uint64" group="general"/>
+ <reg name="r6" bitsize="64" type="uint64" group="general"/>
+ <reg name="r7" bitsize="64" type="uint64" group="general"/>
+ <reg name="r8" bitsize="64" type="uint64" group="general"/>
+ <reg name="r9" bitsize="64" type="uint64" group="general"/>
+ <reg name="r10" bitsize="64" type="uint64" group="general"/>
+ <reg name="r11" bitsize="64" type="uint64" group="general"/>
+ <reg name="r12" bitsize="64" type="uint64" group="general"/>
+ <reg name="r13" bitsize="64" type="uint64" group="general"/>
+ <reg name="r14" bitsize="64" type="uint64" group="general"/>
+ <reg name="r15" bitsize="64" type="uint64" group="general"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- S/390 64-bit user-level code. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>s390:64-bit</architecture>
+ <xi:include href="s390x-core64.xml"/>
+ <xi:include href="s390-acr.xml"/>
+ <xi:include href="s390-fpr.xml"/>
+ <xi:include href="s390x-linux64.xml"/>
+ <xi:include href="s390x-core64-valgrind-s1.xml"/>
+ <xi:include href="s390-acr-valgrind-s1.xml"/>
+ <xi:include href="s390-fpr-valgrind-s1.xml"/>
+ <xi:include href="s390x-linux64-valgrind-s1.xml"/>
+ <xi:include href="s390x-core64-valgrind-s2.xml"/>
+ <xi:include href="s390-acr-valgrind-s2.xml"/>
+ <xi:include href="s390-fpr-valgrind-s2.xml"/>
+ <xi:include href="s390x-linux64-valgrind-s2.xml"/>
+</target>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- S/390 64-bit user-level code. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>s390:64-bit</architecture>
+ <xi:include href="s390x-core64.xml"/>
+ <xi:include href="s390-acr.xml"/>
+ <xi:include href="s390-fpr.xml"/>
+ <xi:include href="s390x-linux64.xml"/>
+</target>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- S/390 64-bit user-level code. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux-valgrind-s1">
+ <reg name="orig_r2s1" bitsize="64" type="uint64" group="system"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- S/390 64-bit user-level code. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux-valgrind-s2">
+ <reg name="orig_r2s2" bitsize="64" type="uint64" group="system"/>
+</feature>
--- /dev/null
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- S/390 64-bit user-level code. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux">
+ <reg name="orig_r2" bitsize="64" type="uint64" group="system"/>
+</feature>
{ "f13", 2528, 64 },
{ "f14", 2592, 64 },
{ "f15", 2656, 64 },
+ { "orig_r2", 2720, 64 },
};
static const char *expedite_regs[] = { "r14", "r15", "pswa", 0 };
#define num_regs (sizeof (regs) / sizeof (regs[0]))
case 48: VG_(transfer) (&s390x->guest_f13, buf, dir, size, mod); break;
case 49: VG_(transfer) (&s390x->guest_f14, buf, dir, size, mod); break;
case 50: VG_(transfer) (&s390x->guest_f15, buf, dir, size, mod); break;
+ case 51: *mod = False; break; //GDBTD??? { "orig_r2", 0, 64 },
default: vg_assert(0);
}
}
get_pc,
set_pc,
"s390x",
- NULL, // target_xml not needed.
- NULL // no xml shadow target description (yet?)
+ "s390x-generic.xml",
+ "s390x-generic-valgrind.xml"
};
void s390x_init_architecture (struct valgrind_target_ops *target)