Commit Graph

12 Commits

Author SHA1 Message Date
Joel Brobecker 42a4f53d2b Update copyright year range in all GDB files.
This commit applies all changes made after running the gdb/copyright.py
script.

Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.

gdb/ChangeLog:

	Update copyright year range in all GDB files.
2019-01-01 10:01:51 +04:00
Philipp Rudo c81e887979 s390: Fix gdb.base/all-architectures.exp with --enable-targets=all
With 7042632bf7 (s390: Hook s390 into OSABI mechanism) assigning a
default target description was moved from s390_gdbarch_init to
s390_linux_init_abi_*.  This causes problems when GDB is built with
--enable-targets=all and the user sets an unsupported OSABI, e.g. "set
osabi AIX".  In this case there is no valid tdesc, and GDB crashes with an
internal error.  Fix this by reverting parts of 7042632bf7.

gdb/ChangeLog:

	* s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
	"features/s390x-linux64.c".
	(_initialize_s390_linux_tdep): Remove initialization of tdescs
	s390_linux32 and s390x_linux64.
	(s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
	default tdesc.
	* s390-tdep.c: Include "features/s390-linux32.c" and
	"features/s390x-linux64.c".
	(s390_tdesc_valid): Add check for tdesc_has_registers.
	(s390_gdbarch_init): Make sure there is always a valid tdesc.
	(_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
	tdesc_s390x_linux64.
	* s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
	tdesc_s390x_linux64 to...
	* s390-tdep.h: ...here.
2018-01-30 17:10:08 +01:00
Philipp Rudo d6e5894564 s390: Split up s390-linux-tdep.c into two files
Currently all target dependent code for s390 is in one file,
s390-linux-tdep.c.  This includes code general for the architecture as
well as code specific for uses in GNU/Linux (user space).  Up until now
this was OK as GNU/Linux was the only supported OS.  In preparation to
support the new Linux kernel 'OS' split up the existing s390 code into a
general s390-tdep and a GNU/Linux-specific s390-linux-tdep.

Note: The record-replay feature will be moved in a separate patch.  This
is simply due to the fact that the combined patch would be too large for
the mailing list.  This requires setting the process_record hook during
OSABI init to keep the code bisectable.  The patch moving record-replay
cleans up this hack.

gdb/ChangeLog:

	* s390-linux-nat.c (s390-tdep.h): New include.
	* Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
	(HFILES_NO_SRCDIR): Add s390-tdep.h.
	(ALLDEPFILES): Add s390-tdep.c.
	* configure.tgt (s390*-*-linux*): Add s390-tdep.o.
	* s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
	* s390-tdep.h: ...this.  New file.
	* s390-linux-tdep.c (s390-tdep.h): New include.
	(_initialize_s390_tdep): Rename to...
	(_initialize_s390_linux_tdep): ...this and adjust.
	(s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
	(enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
	s390-tdep.h.
	(s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
	(is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
	(s390_is_partial_instruction, s390_software_single_step)
	(is_non_branch_ril, s390_displaced_step_copy_insn)
	(s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
	(s390_prologue_data, s390_addr, s390_store, s390_load)
	(s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
	(s390_register_call_saved, s390_guess_tracepoint_registers)
	(s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
	(regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
	(s390_pseudo_register_name, s390_pseudo_register_type)
	(s390_pseudo_register_read, s390_pseudo_register_write)
	(s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
	(s390_ax_pseudo_register_push_stack, s390_gen_return_address)
	(s390_addr_bits_remove, s390_address_class_type_flags)
	(s390_address_class_type_flags_to_name)
	(s390_address_class_name_to_type_flags, s390_effective_inner_type)
	(s390_function_arg_float, s390_function_arg_vector)
	(is_power_of_two, s390_function_arg_integer, s390_arg_state)
	(s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
	(s390_frame_align, s390_register_return_value, s390_return_value)
	(s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
	(s390_unwind_pseudo_register, s390_adjust_frame_regnum)
	(s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
	(s390_trad_frame_prev_register, s390_unwind_cache)
	(s390_prologue_frame_unwind_cache)
	(s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
	(s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
	(s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
	(s390_stub_frame_this_id, s390_stub_frame_prev_register)
	(s390_stub_frame_sniffer, s390_stub_frame_unwind)
	(s390_frame_base_address, s390_local_base_address)
	(s390_frame_base, s390_gcc_target_options)
	(s390_gnu_triplet_regexp, s390_stap_is_single_operand)
	(s390_validate_reg_range, s390_tdesc_valid)
	(s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
	* s390-tdep.c: ...this.  New file.
2018-01-23 13:37:43 +01:00
Joel Brobecker e2882c8578 Update copyright year range in all GDB files
gdb/ChangeLog:

        Update copyright year range in all GDB files
2018-01-02 07:38:06 +04:00
Andreas Arnez 1b63490c91 S390: Add guarded-storage register support to GDB
Recognize targets with the new guarded-storage feature and then present
the guarded-storage registers and the Linux-specific guarded-storage
broadcast control block appropriately.

gdb/ChangeLog:

	* s390-linux-nat.c (have_regset_gs): New static variable.
	(s390_linux_fetch_inferior_registers): Handle guarded-storage
	control block and guarded-storage broadcast control regsets.
	(s390_read_description): Detect whether the target has
	guarded-storage support, return appropriate tdesc.
	* s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
	(features/s390x-gs-linux64.c): Likewise.
	(struct gdbarch_tdep) <have_gs>: New field.
	(s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
	(s390_gsbc_regset): New variables.
	(s390_iterate_over_regset_sections): Iterate over s390_gs_regset
	and s390_gsbc_regset, if applicable.
	(s390_core_read_description): Check whether core file was from a
	target with guarded-storage support; include appropriate regsets.
	(s390_gdbarch_init): Add registers for guarded-storage support.
	(_initialize_s390_tdep): Initialize new target descriptions that
	include registers for guarded-storage support.
	* s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
	(S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
	(S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
	(S390_NUM_REGS): Adjust macro definition.
	(s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
	(tdesc_s390x_gs_linux64): New declarations.
2017-09-25 16:02:23 +02:00
Joel Brobecker 61baf725ec update copyright year range in GDB files
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.

gdb/ChangeLog:

        Update copyright year range in all GDB files.
2017-01-01 10:52:34 +04:00
Joel Brobecker 618f726fcb GDB copyright headers update after running GDB's copyright.py script.
gdb/ChangeLog:

        Update year range in copyright notice of all files.
2016-01-01 08:43:22 +04:00
Andreas Arnez 550bdf96ca S390: Add vector register support to gdb
Recognize S/390 targets with the new vector feature and present their
vector registers appropriately: as 32 new 128-bit wide registers
v0-v31, where the first 16 embed the floating point registers f0-f15.
Each of the full registers v0-v15 is modelled as a pseudo register.

gdb/ChangeLog:

	* s390-linux-nat.c (have_regset_vxrs): New static variable.
	(s390_linux_fetch_inferior_registers): Handle vector registers, if
	present.
	(s390_linux_store_inferior_registers): Likewise.
	(s390_get_hwcap): Remove function.  Embed its logic...
	(s390_read_description): ...here.  Yield a target description with
	vector registers if applicable.
	* s390-linux-tdep.c: Include "features/s390-vx-linux64.c",
	"features/s390-tevx-linux64.c", "features/s390x-vx-linux64.c", and
	"features/s390x-tevx-linux64.c".
	(struct gdbarch_tdep) <v0_full_regnum>: New field.
	(s390_dwarf_regmap): Add vector registers.  Remove bogus entries
	for "GNU/Linux-specific registers".
	(s390_dwarf_reg_r0l): New enum value.
	(s390_dwarf_reg_to_regnum): Support vector registers.
	(s390_adjust_frame_regnum): Adjust pseudo DWARF register numbers
	of GPR lower halves.
	(regnum_is_vxr_full): New function.
	(s390_register_name): New function.
	(s390_pseudo_register_name): Handle v0-v15, which are composed of
	f0-f15 and v0l-v15l.
	(s390_pseudo_register_type): Likewise.
	(s390_pseudo_register_read): Likewise.
	(s390_pseudo_register_write): Likewise.
	(s390_value_from_register): Account for the fact that values are
	placed left-justified in vector registers.
	(s390_pseudo_register_reggroup_p): Add pseudo registers v0-v15 to
	the vector reggroup and omit them from the general reggroup.
	(s390_regmap_vxrs_low, s390_regmap_vxrs_high): New register maps.
	(s390_vxrs_low_regset, s390_vxrs_high_regset): New regsets.
	(s390_iterate_over_regset_sections): Add iterations for the two
	new vector regsets.
	(s390_core_read_description): Yield a target description with
	vector registers if applicable.
	(s390_gdbarch_init): Handle target descriptions with vector
	registers.  Add "register_name" gdbarch method.
	(_initialize_s390_tdep): Call new tdesc initialization functions.
	* s390-linux-tdep.h (HWCAP_S390_VX): New macro.
	(S390_V0_LOWER_REGNUM, S390_V1_LOWER_REGNUM, S390_V2_LOWER_REGNUM)
	(S390_V3_LOWER_REGNUM, S390_V4_LOWER_REGNUM, S390_V5_LOWER_REGNUM)
	(S390_V6_LOWER_REGNUM, S390_V7_LOWER_REGNUM, S390_V8_LOWER_REGNUM)
	(S390_V9_LOWER_REGNUM, S390_V10_LOWER_REGNUM)
	(S390_V11_LOWER_REGNUM, S390_V12_LOWER_REGNUM)
	(S390_V13_LOWER_REGNUM, S390_V14_LOWER_REGNUM)
	(S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V17_REGNUM)
	(S390_V18_REGNUM, S390_V19_REGNUM, S390_V20_REGNUM)
	(S390_V21_REGNUM, S390_V22_REGNUM, S390_V23_REGNUM)
	(S390_V24_REGNUM, S390_V25_REGNUM, S390_V26_REGNUM)
	(S390_V27_REGNUM, S390_V28_REGNUM, S390_V29_REGNUM)
	(S390_V30_REGNUM, S390_V31_REGNUM): New macros.
	(S390_NUM_REGS): Adjust value.
	(s390_vxrs_low_regset, s390_vxrs_high_regset): Declare.
	(tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
	(tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): Likewise.
	* NEWS: Announce S/390 vector register support.
2015-03-02 10:57:39 +01:00
Joel Brobecker 32d0add0a6 Update year range in copyright notice of all files owned by the GDB project.
gdb/ChangeLog:

        Update year range in copyright notice of all files.
2015-01-01 13:32:14 +04:00
Andreas Arnez 99b7da5d7a S390: Migrate to regcache_supply/collect_regset.
Rather than supplying own supply/collect functions, use the generic
functions regcache_supply_regset and regcache_collect_regset instead.
The register maps are rewritten accordingly and become much shorter
(and better readable) than before.
2014-08-07 17:31:48 +02:00
Joel Brobecker ecd75fc8ee Update Copyright year range in all files maintained by GDB. 2014-01-01 07:54:24 +04:00
Ulrich Weigand 0e5fae36f1 S/390: Rename source files to *-linux-*
As suggested before, rename the S/390-related source files (tdep and nat)
such that "-linux-" occurs in the file name, like with other GNU/Linux
targets.  Since no other operating system is currently supported by GDB
on this architecture, this isn't strictly necessary.  But the old names
sometimes caused GDB contributors to miss these files when performing a
change that affects all GNU/Linux targets.  The latest such incident was
observed here:

    https://sourceware.org/ml/gdb-patches/2013-09/msg00619.html

gdb/
2013-10-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* s390-tdep.h: Rename to...
	* s390-linux-tdep.h: ...here.
	* s390-tdep.c: Rename to...
	* s390-linux-tdep.c: ...here.  Adjust #include.
	* s390-nat.c: Rename to...
	* s390-linux-nat.c: ...here.  Adjust #include.
	* config/s390/s390.mh: Rename to...
	* config/s390/linux.mh: ...here.  Reflect rename s390-nat.o ->
	s390-linux-nat.o.
	* configure.host: Reflect host rename "s390" -> "linux".
	* configure.tgt: Reflect rename s390-tdep.o -> s390-linux-tdep.o.
	* Makefile.in (ALL_TARGET_OBS): Likewise.
	(HFILES_NO_SRCDIR): Reflect rename s390-tdep.h ->
	s390-linux-tdep.h.
	(ALLDEPFILES): Reflect rename of .c files.
2013-10-30 18:57:08 +01:00