* features/Makefile (WHICH): Add s390-linux32, s390-linux64,
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 79fe93a2ee754ee926c836ad2336b26d4f9fa943..dc6a776083245a1fcf21bcfd541c5f5700ca87af 100644 (file)
@@ -1,3 +1,100 @@
+2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+        * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
+       and s390x-linux64.
+       (s390-linux32-expedite): Define.
+       (s390-linux64-expedite): Define.
+       (s390x-linux64-expedite): Define.
+       * features/s390-acr.xml: New file.
+       * features/s390-fpr.xml: New file.
+       * features/s390-core32.xml: New file.
+       * features/s390-core64.xml: New file.
+       * features/s390x-core64.xml: New file.
+       * features/s390-linux32.xml: New file.
+       * features/s390-linux64.xml: New file.
+       * features/s390x-linux64.xml: New file.
+       * features/s390-linux32.c: New generated file.
+       * features/s390-linux64.c: New generated file.
+       * features/s390x-linux64.c: New generated file.
+
+       * regformats/s390-linux32.dat: New generated file.
+       * regformats/s390-linux64.dat: New generated file.
+       * regformats/s390x-linux64.dat: New generated file.
+       * regformats/reg-s390.dat: Remove.
+       * regformats/reg-s390x.dat: Remove.
+
+       * s390-nat.c: Include "auxv.h" and <elf.h>.
+       (HWCAP_S390_HIGH_GPRS): Define if undefined.
+       (s390_target_wordsize): New function.
+       (s390_auxv_parse): Likewise.
+       (s390_get_hwcap): Likewise.
+       (s390_read_description): Likewise.
+       (_initialize_s390_nat): Install s390_auxv_parse and
+       s390_read_description.
+
+       * s390-tdep.c: Include "features/s390-linux32.c",
+       "features/s390-linux64.c", and "features/s390x-linux64.c".
+       (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
+       (s390_register_call_saved): New function.
+       (s390_register_name): Remove.
+       (s390_register_type): Remove.
+       (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
+       (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
+       (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
+       (s390_pseudo_register_name): New function.
+       (s390_pseudo_register_type): New function.
+       (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
+       Handle full GPR pesudos and varying pseudo register numbers.
+       (s390_pseudo_register_write): Likewise
+       (s390x_pseudo_register_read): Remove.
+       (s390x_pseudo_register_write): Likewise.
+       (s390_register_group): Remove.
+       (s390_pseudo_register_group): New function.
+       (s390_regmap_gregset): Add GPR upper halves.
+       (s390x_regmap_gregset): Likewise.
+       (s390_regmap_fpregset): Likewise.
+       (s390_regmap_upper): New global variable.
+       (s390_upper_regset): New global variable.
+       (s390_upper_regset_sections): New global variable.
+       (s390_regset_from_core_section): Handle GPR upper halves.
+       (s390_core_read_description): New function.
+       (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
+       register information.  Handle varying pseudo register numbers.
+       (s390_backchain_frame_unwind_cache): Likewise.
+       (s390_frame_prev_register): Unwind full GPRs to show lower halves.
+       (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
+       (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
+       PC and CC pseudos.  Unwind upper halves and full GPRs as appropriate.
+       Handle varying pseudo register numbers.
+       (s390_unwind_pc): Handle varying pseudo register numbers.
+       (s390_dwarf2_prev_register): New function.
+       (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
+       register information.  Handle varying pseudo register numbers.
+       Install s390_dwarf2_prev_register to unwind full GPRs.
+       (s390_gdbarch_init): Handle target descriptions.  Assign varying
+       pseudo register numbers.  Install s390_adjust_frame_regnum.
+       (_initialize_s390_tdep): Initialize target descriptions.
+
+       * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
+       (S390_NUM_REGS): Redefine to include upper half registers.
+       (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
+       (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
+       (tdesc_s390_linux32): Add declaration.
+       (tdesc_s390_linux64): Likewise.
+       (tdesc_s390x_linux64): Likewise.
+
+2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regset.h (struct core_regset_section): Add HUMAN_NAME.
+       * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
+       * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
+       (ppc_linux_vmx_regset_sections): Likewise.
+       (ppc_linux_fp_regset_sections): Likewise.
+
+       * corelow.c (get_core_register_section): Constify arguments.
+       (get_core_registers): Use gdbarch_core_regset_sections instead
+       of hard-coded platform-specific register section names.
+
 2010-01-04  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * dwarf2loc.c (read_pieced_value): If a piece occupies part of
This page took 0.024594 seconds and 4 git commands to generate.