diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2011-11-30 16:06:55 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2011-11-30 16:06:55 +0000 |
commit | d6db1fabccd61cdc0527cf7c701ae5cf7f277281 (patch) | |
tree | 1ee15269e26f8d23a2a607df2b02f2aff461bbad /gdb/features | |
parent | 1dd635acb8bfcf517fae1d3e21d312828efdb2b1 (diff) | |
download | gdb-d6db1fabccd61cdc0527cf7c701ae5cf7f277281.zip gdb-d6db1fabccd61cdc0527cf7c701ae5cf7f277281.tar.gz gdb-d6db1fabccd61cdc0527cf7c701ae5cf7f277281.tar.bz2 |
ChangeLog:
* s390-nat.c (SUBOFF): Remove.
(s390_native_supply, s390_native_collect): New functions.
(supply_gregset, supply_fpregset): Use s390_native_supply.
(fill_gregset, fill_fpregset): Use s390_native_collect.
* s390-tdep.c (s390_pseudo_register_reggroup_p): Update comment.
(s390_unwind_pseudo_register): New function.
(s390_prologue_frame_unwind_cache): Unwind PSW address and mask
registers instead of PC and CC.
(s390_backchain_frame_unwind_cache): Likewise.
(s390_sigtramp_frame_unwind_cache): Do not unwind PC, CC, or
full GPR pseudos.
(s390_trad_frame_prev_register): New function.
(s390_frame_prev_register): Use it.
(s390_sigtramp_frame_prev_register): Likewise.
(s390_dwarf2_prev_register): Use s390_unwind_pseudo_register.
(s390_dwarf2_frame_init_reg): Unwind PSW address and mask. Use
special callback to unwind any pseudo.
* features/s390-core32.xml: Add pswm/pswa to save/restore group.
* features/s390-core64.xml: Likewise.
* features/s390x-core64.xml: Likewise.
* features/s390-linux32.c: Regenerate.
* features/s390-linux64.c: Likewise.
* features/s390x-linux64.c: Likewise.
gdbserver/ChangeLog:
* linux-s390-low.c (s390_collect_ptrace_register): Fully convert
PSW address/mask between 8-byte and 16-byte formats.
(s390_supply_ptrace_register): Likewise.
(s390_get_pc, s390_set_pc): 4-byte PSW address always includes
basic addressing mode bit.
Diffstat (limited to 'gdb/features')
-rw-r--r-- | gdb/features/s390-core32.xml | 4 | ||||
-rw-r--r-- | gdb/features/s390-core64.xml | 4 | ||||
-rw-r--r-- | gdb/features/s390-linux32.c | 5 | ||||
-rw-r--r-- | gdb/features/s390-linux64.c | 5 | ||||
-rw-r--r-- | gdb/features/s390x-core64.xml | 4 | ||||
-rw-r--r-- | gdb/features/s390x-linux64.c | 5 |
6 files changed, 15 insertions, 12 deletions
diff --git a/gdb/features/s390-core32.xml b/gdb/features/s390-core32.xml index 3c0937a..989e555 100644 --- a/gdb/features/s390-core32.xml +++ b/gdb/features/s390-core32.xml @@ -7,8 +7,8 @@ <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.s390.core"> - <reg name="pswm" bitsize="32" type="uint32" group="psw" save-restore="no"/> - <reg name="pswa" bitsize="32" type="uint32" group="psw" save-restore="no"/> + <reg name="pswm" bitsize="32" type="uint32" group="psw"/> + <reg name="pswa" bitsize="32" type="uint32" group="psw"/> <reg name="r0" bitsize="32" type="uint32" group="general"/> <reg name="r1" bitsize="32" type="uint32" group="general"/> <reg name="r2" bitsize="32" type="uint32" group="general"/> diff --git a/gdb/features/s390-core64.xml b/gdb/features/s390-core64.xml index 7abe38d..d5998c9 100644 --- a/gdb/features/s390-core64.xml +++ b/gdb/features/s390-core64.xml @@ -7,8 +7,8 @@ <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.s390.core"> - <reg name="pswm" bitsize="32" type="uint32" group="psw" save-restore="no"/> - <reg name="pswa" bitsize="32" type="uint32" group="psw" save-restore="no"/> + <reg name="pswm" bitsize="32" type="uint32" group="psw"/> + <reg name="pswa" bitsize="32" type="uint32" group="psw"/> <reg name="r0h" bitsize="32" type="uint32" group="upper"/> <reg name="r0l" bitsize="32" type="uint32" group="lower"/> <reg name="r1h" bitsize="32" type="uint32" group="upper"/> diff --git a/gdb/features/s390-linux32.c b/gdb/features/s390-linux32.c index 0ff3868..0e28c72 100644 --- a/gdb/features/s390-linux32.c +++ b/gdb/features/s390-linux32.c @@ -1,6 +1,7 @@ /* THIS FILE IS GENERATED. Original: s390-linux32.xml */ #include "defs.h" +#include "osabi.h" #include "target-descriptions.h" struct target_desc *tdesc_s390_linux32; @@ -14,8 +15,8 @@ initialize_tdesc_s390_linux32 (void) set_tdesc_architecture (result, bfd_scan_arch ("s390:31-bit")); feature = tdesc_create_feature (result, "org.gnu.gdb.s390.core"); - tdesc_create_reg (feature, "pswm", 0, 0, "psw", 32, "uint32"); - tdesc_create_reg (feature, "pswa", 1, 0, "psw", 32, "uint32"); + tdesc_create_reg (feature, "pswm", 0, 1, "psw", 32, "uint32"); + tdesc_create_reg (feature, "pswa", 1, 1, "psw", 32, "uint32"); tdesc_create_reg (feature, "r0", 2, 1, "general", 32, "uint32"); tdesc_create_reg (feature, "r1", 3, 1, "general", 32, "uint32"); tdesc_create_reg (feature, "r2", 4, 1, "general", 32, "uint32"); diff --git a/gdb/features/s390-linux64.c b/gdb/features/s390-linux64.c index 1e39fc3..e7acfe2 100644 --- a/gdb/features/s390-linux64.c +++ b/gdb/features/s390-linux64.c @@ -1,6 +1,7 @@ /* THIS FILE IS GENERATED. Original: s390-linux64.xml */ #include "defs.h" +#include "osabi.h" #include "target-descriptions.h" struct target_desc *tdesc_s390_linux64; @@ -14,8 +15,8 @@ initialize_tdesc_s390_linux64 (void) set_tdesc_architecture (result, bfd_scan_arch ("s390:31-bit")); feature = tdesc_create_feature (result, "org.gnu.gdb.s390.core"); - tdesc_create_reg (feature, "pswm", 0, 0, "psw", 32, "uint32"); - tdesc_create_reg (feature, "pswa", 1, 0, "psw", 32, "uint32"); + tdesc_create_reg (feature, "pswm", 0, 1, "psw", 32, "uint32"); + tdesc_create_reg (feature, "pswa", 1, 1, "psw", 32, "uint32"); tdesc_create_reg (feature, "r0h", 2, 1, "upper", 32, "uint32"); tdesc_create_reg (feature, "r0l", 3, 1, "lower", 32, "uint32"); tdesc_create_reg (feature, "r1h", 4, 1, "upper", 32, "uint32"); diff --git a/gdb/features/s390x-core64.xml b/gdb/features/s390x-core64.xml index eca8246..2f01903 100644 --- a/gdb/features/s390x-core64.xml +++ b/gdb/features/s390x-core64.xml @@ -7,8 +7,8 @@ <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.s390.core"> - <reg name="pswm" bitsize="64" type="uint64" group="psw" save-restore="no"/> - <reg name="pswa" bitsize="64" type="uint64" group="psw" save-restore="no"/> + <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"/> diff --git a/gdb/features/s390x-linux64.c b/gdb/features/s390x-linux64.c index 91d2da9..06a9339 100644 --- a/gdb/features/s390x-linux64.c +++ b/gdb/features/s390x-linux64.c @@ -1,6 +1,7 @@ /* THIS FILE IS GENERATED. Original: s390x-linux64.xml */ #include "defs.h" +#include "osabi.h" #include "target-descriptions.h" struct target_desc *tdesc_s390x_linux64; @@ -14,8 +15,8 @@ initialize_tdesc_s390x_linux64 (void) set_tdesc_architecture (result, bfd_scan_arch ("s390:64-bit")); feature = tdesc_create_feature (result, "org.gnu.gdb.s390.core"); - tdesc_create_reg (feature, "pswm", 0, 0, "psw", 64, "uint64"); - tdesc_create_reg (feature, "pswa", 1, 0, "psw", 64, "uint64"); + tdesc_create_reg (feature, "pswm", 0, 1, "psw", 64, "uint64"); + tdesc_create_reg (feature, "pswa", 1, 1, "psw", 64, "uint64"); tdesc_create_reg (feature, "r0", 2, 1, "general", 64, "uint64"); tdesc_create_reg (feature, "r1", 3, 1, "general", 64, "uint64"); tdesc_create_reg (feature, "r2", 4, 1, "general", 64, "uint64"); |