38 Commits

Author SHA1 Message Date
213516ef31 Update copyright year range in header of all files managed by GDB
This commit is the result of running the gdb/copyright.py script,
which automated the update of the copyright year range for all
source files managed by the GDB project to be updated to include
year 2023.
2023-01-01 17:01:16 +04:00
bd2b40ac12 Change GDB to use frame_info_ptr
This changes GDB to use frame_info_ptr instead of frame_info *
The substitution was done with multiple sequential `sed` commands:

sed 's/^struct frame_info;/class frame_info_ptr;/'
sed 's/struct frame_info \*/frame_info_ptr /g' - which left some
    issues in a few files, that were manually fixed.
sed 's/\<frame_info \*/frame_info_ptr /g'
sed 's/frame_info_ptr $/frame_info_ptr/g' - used to remove whitespace
    problems.

The changed files were then manually checked and some 'sed' changes
undone, some constructors and some gets were added, according to what
made sense, and what Tromey originally did

Co-Authored-By: Bruno Larsen <blarsen@redhat.com>
Approved-by: Tom Tomey <tom@tromey.com>
2022-10-10 11:57:10 +02:00
ab25d9bbe4 gdb: rename gdbarch_tdep struct to fix g++ 4.8 build
After the commit:

  commit 08106042d9f5fdff60c129bf33190639f1a98b2a
  Date:   Thu May 19 13:20:17 2022 +0100

      gdb: move the type cast into gdbarch_tdep

GDB would no longer build using g++ 4.8.  The issue appears to be some
confusion caused by GDB having 'struct gdbarch_tdep', but also a
templated function called 'gdbarch_tdep'.  Prior to the above commit
the gdbarch_tdep function was not templated, and this compiled just
fine.  Note that the above commit compiles just fine with later
versions of g++, so this issue was clearly fixed at some point, though
I've not tried to track down exactly when.

In this commit I propose to fix the g++ 4.8 build problem by renaming
'struct gdbarch_tdep' to 'struct gdbarch_tdep_base'.  This rename
better represents that the struct is only ever used as a base class,
and removes the overloading of the name, which allows GDB to build
with g++ 4.8.

I've also updated the comment on 'struct gdbarch_tdep_base' to fix a
typo, and the comment on the 'gdbarch_tdep' function, to mention that
in maintainer mode a run-time type check is performed.
2022-07-26 12:04:07 +01:00
4a94e36819 Automatic Copyright Year update after running gdb/copyright.py
This commit brings all the changes made by running gdb/copyright.py
as per GDB's Start of New Year Procedure.

For the avoidance of doubt, all changes in this commits were
performed by the script.
2022-01-01 19:13:23 +04:00
76eb8ef1ce gdb: include gdbarch.h in all files extending gdbarch_tdep
Commit 345bd07cce33 ("gdb: fix gdbarch_tdep ODR violation") made a bunch
of files define a *_gdbarch_tdep class that inherits from a gdbarch_tdep
base.  But some of these files don't include gdbarch.h, where
gdbarch_tdep is defined.  This may cause build errors if gdbarch.h isn't
already included by chance by some other header file.  Avoid this by
making them include gdbarch.h.

Change-Id: If433d302007e274daa4f656cfc94f769cf1aa68a
2021-11-18 11:30:40 -05:00
345bd07cce gdb: fix gdbarch_tdep ODR violation
I would like to be able to use non-trivial types in gdbarch_tdep types.
This is not possible at the moment (in theory), because of the one
definition rule.

To allow it, rename all gdbarch_tdep types to <arch>_gdbarch_tdep, and
make them inherit from a gdbarch_tdep base class.  The inheritance is
necessary to be able to pass pointers to all these <arch>_gdbarch_tdep
objects to gdbarch_alloc, which takes a pointer to gdbarch_tdep.

These objects are never deleted through a base class pointer, so I
didn't include a virtual destructor.  In the future, if gdbarch objects
deletable, I could imagine that the gdbarch_tdep objects could become
owned by the gdbarch objects, and then it would become useful to have a
virtual destructor (so that the gdbarch object can delete the owned
gdbarch_tdep object).  But that's not necessary right now.

It turns out that RISC-V already has a gdbarch_tdep that is
non-default-constructible, so that provides a good motivation for this
change.

Most changes are fairly straightforward, mostly needing to add some
casts all over the place.  There is however the xtensa architecture,
doing its own little weird thing to define its gdbarch_tdep.  I did my
best to adapt it, but I can't test those changes.

Change-Id: Ic001903f91ddd106bd6ca09a79dabe8df2d69f3b
2021-11-15 11:29:39 -05:00
3666a04883 Update copyright year range in all GDB files
This commits the result of running gdb/copyright.py as per our Start
of New Year procedure...

gdb/ChangeLog

        Update copyright year range in copyright header of all GDB files.
2021-01-01 12:12:21 +04:00
3eba3a011a Various m68k fixes for gdb
Recently I tried the m68k port of gdb.  It had some issues, which are
fixed in this patch.

* Various types of return values were not being handled properly.  In
  particular:

  * arrays are returned by following the same convention as
    structures.  This matters in languages like Ada, where an array
    can in fact be returned as a value.

  * "long double" was not being handled correctly in
    m68k_svr4_return_value.

  * GCC's m68k back end does not return vector types in registers, so
    change gdb to follow.

  * GCC's m68k back end doesn't faithfully implement the ABI, and so
    some objects with unusual size (not possible in C, but possible in
    Ada) are not returned correctly.

* gcc implements an m68k ABI variant that it simply describes as
  "embedded".  This ABI is similar to the SVR4 ABI, but rather than
  returning pointer-typed values in %a0, such values are returned in
  %d0.  To support this, an ELF osabi sniffer is added.

* Commit 85f7484a ("m68k: tag floating-point ABI used") adds an
  attribute that can be used to recognize when hard- or soft-float is
  in use.  gdb can now read this tag and choose the ABI accordingly.

I was unable to run the gdb test suite with this patch.  Instead, I
tested it using qemu and the internal AdaCore test suite.

gdb/ChangeLog
2020-09-14  Tom Tromey  <tromey@adacore.com>

	* m68k-tdep.c (m68k_extract_return_value): Use
	pointer_result_regnum.
	(m68k_store_return_value): Likewise.
	(m68k_reg_struct_return_p): Handle vectors and arrays.
	(m68k_return_value): Handle arrays.
	(m68k_svr4_return_value): Fix single-element aggregate handling.
	Handle long double.  Adjust for embedded ABI.
	(m68k_svr4_init_abi): Set pointer_result_regnum.
	(m68k_embedded_init_abi): New function.
	(m68k_gdbarch_init): Handle Tag_GNU_M68K_ABI_FP.
	(m68k_osabi_sniffer): New function.
	(_initialize_m68k_tdep): Register osabi sniffer.
	* m68k-tdep.h (struct gdbarch_tdep) <pointer_result_regnum>: New
	member.
2020-09-14 09:46:05 -06:00
b811d2c292 Update copyright year range in all GDB files.
gdb/ChangeLog:

        Update copyright year range in all GDB files.
2020-01-01 10:20:53 +04:00
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
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
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
03b62bbbce Normalize names of some source files
Most tdep/nat files are named:

  <cpu>-<os>-tdep.c
  <cpu>-<os>-nat.c

A few files do not respect this scheme.  This patch renames them so that
they are consistent with the rest of the files.  It builds fine with
--enable-targets=all, but that doesn't test the nat files.  I can only
hope that my grep skill is good enough.

gdb/ChangeLog:

	* Makefile.in (ALL_64_TARGET_OBS, ALL_TARGET_OBS,
	HFILES_NO_SRCDIR, ALLDEPFILES): Rename files.
	* alphabsd-nat.c: Rename to ...
	* alpha-bsd-nat.c: ... this, adjust include.
	* alphabsd-tdep.c: Rename to ...
	* alpha-bsd-tdep.c: ... this, adjust include.
	* alphabsd-tdep.h: Rename to ...
	* alpha-bsd-tdep.h: ... this, adjust include barrier and comment.
	* alphafbsd-tdep.c: Rename to ...
	* alpha-fbsd-tdep.c: ... this.
	* alphanbsd-tdep.c: Rename to ...
	* alpha-nbsd-tdep.c: ... this, adjust include.
	* alphaobsd-tdep.c: Rename to ...
	* alpha-obsd-tdep.c: ... this, adjust include.
	* amd64bsd-nat.c: Rename to ...
	* amd64-bsd-nat.c: ... this, adjust include.
	* amd64fbsd-nat.c: Rename to ...
	* amd64-fbsd-nat.c: ... this, adjust include.
	* amd64fbsd-tdep.c: Rename to ...
	* amd64-fbsd-tdep.c: ... this, adjust include.
	* amd64nbsd-nat.c: Rename to ...
	* amd64-nbsd-nat.c: ... this.
	* amd64nbsd-tdep.c: Rename to ...
	* amd64-nbsd-tdep.c: ... this.
	* amd64obsd-nat.c: Rename to ...
	* amd64-obsd-nat.c: ... this.
	* amd64obsd-tdep.c: Rename to ...
	* amd64-obsd-tdep.c: ... this.
	* amd64-tdep.h: Update comments.
	* armbsd-tdep.c: Rename to ...
	* arm-bsd-tdep.c: ... this.
	* armnbsd-nat.c: Rename to ...
	* arm-nbsd-nat.c: ... this.
	* armnbsd-tdep.c: Rename to ...
	* arm-nbsd-tdep.c: ... this.
	* armobsd-tdep.c: Rename to ...
	* arm-obsd-tdep.c: ... this.
	* arm-tdep.h: Update comments.
	* hppabsd-tdep.c: Rename to ...
	* hppa-bsd-tdep.c: ... this, adjust include.
	* hppabsd-tdep.h: Rename to ...
	* hppa-bsd-tdep.h: ... this, adjust include barrier and comment.
	* hppanbsd-nat.c: Rename to ...
	* hppa-nbsd-nat.c: ... this.
	* hppanbsd-tdep.c: Rename to ...
	* hppa-nbsd-tdep.c: ... this, adjust include.
	* hppaobsd-nat.c: Rename to ...
	* hppa-obsd-nat.c: ... this.
	* hppaobsd-tdep.c: Rename to ...
	* hppa-obsd-tdep.c: ... this, adjust include.
	* i386bsd-nat.c: Rename to ...
	* i386-bsd-nat.c: ... this, adjust include.
	* i386bsd-nat.h: Rename to ...
	* i386-bsd-nat.h: ... this, adjust include barrier and comment.
	* i386bsd-tdep.c: Rename to ...
	* i386-bsd-tdep.c: ... this.
	* i386fbsd-nat.c: Rename to ...
	* i386-fbsd-nat.c: ... this, adjust include.
	* i386fbsd-tdep.c: Rename to ...
	* i386-fbsd-tdep.c: ... this, adjust include.
	* i386fbsd-tdep.h: Rename to ...
	* i386-fbsd-tdep.h: ... this, adjust include barrier and comment.
	* i386gnu-nat.c: Rename to ...
	* i386-gnu-nat.c: ... this.
	* i386gnu-tdep.c: Rename to ...
	* i386-gnu-tdep.c: ... this.
	* i386nbsd-nat.c: Rename to ...
	* i386-nbsd-nat.c: ... this, adjust include.
	* i386nbsd-tdep.c: Rename to ...
	* i386-nbsd-tdep.c: ... this.
	* i386obsd-nat.c: Rename to ...
	* i386-obsd-nat.c: ... this, adjust include.
	* i386obsd-tdep.c: Rename to ...
	* i386-obsd-tdep.c: ... this.
	* i386v4-nat.c: Rename to ...
	* i386-v4-nat.c: ... this.
	* i386-tdep.h: Update comments.
	* m68k-tdep.h: Update comments.
	* m68kbsd-nat.c: Rename to ...
	* m68k-bsd-nat.c: ... this.
	* m68kbsd-tdep.c: Rename to ...
	* m68k-bsd-tdep.c: ... this.
	* m68klinux-nat.c: Rename to ...
	* m68k-linux-nat.c: ... this.
	* m68klinux-tdep.c: Rename to ...
	* m68k-linux-tdep.c: ... this.
	* m88kbsd-nat.c: Rename to ...
	* m88k-bsd-nat.c: ... this.
	* mipsnbsd-nat.c: Rename to ...
	* mips-nbsd-nat.c: ... this, adjust include.
	* mipsnbsd-tdep.c: Rename to ...
	* mips-nbsd-tdep.c: ... this, adjust include.
	* mipsnbsd-tdep.h: Rename to ...
	* mips-nbsd-tdep.h: ... this, adjust include barrier and comment.
	* mips64obsd-nat.c: Rename to ...
	* mips64-obsd-nat.c: ... this.
	* mips64obsd-tdep.c: Rename to ...
	* mips64-obsd-tdep.c: ... this.
	* ppcfbsd-nat.c: Rename to ...
	* ppc-fbsd-nat.c: ... this, adjust include.
	* ppcfbsd-tdep.c: Rename to ...
	* ppc-fbsd-tdep.c: ... this, adjust include.
	* ppcfbsd-tdep.h: Rename to ...
	* ppc-fbsd-tdep.h: ... this, adjust include barrier and comment.
	* ppcnbsd-nat.c: Rename to ...
	* ppc-nbsd-nat.c: ... this, adjust include.
	* ppcnbsd-tdep.c: Rename to ...
	* ppc-nbsd-tdep.c: ... this, adjust include.
	* ppcnbsd-tdep.h: Rename to ...
	* ppc-nbsd-tdep.h: ... this, adjust include barrier and comment.
	* ppcobsd-nat.c: Rename to ...
	* ppc-obsd-nat.c: ... this, adjust include.
	* ppcobsd-tdep.c: Rename to ...
	* ppc-obsd-tdep.c: ... this, adjust include.
	* ppcobsd-tdep.h: Rename to ...
	* ppc-obsd-tdep.h: ... this, adjust include barrier and comment.
	* shnbsd-nat.c: Rename to ...
	* sh-nbsd-nat.c: ... this.
	* shnbsd-tdep.c: Rename to ...
	* sh-nbsd-tdep.c: ... this.
	* sparcnbsd-nat.c: Rename to ...
	* sparc-nbsd-nat.c: ... this.
	* sparcnbsd-tdep.c: Rename to ...
	* sparc-nbsd-tdep.c: ... this.
	* sparcobsd-tdep.c: Rename to ...
	* sparc-obsd-tdep.c: ... this.
	* sparc64fbsd-nat.c: Rename to ...
	* sparc64-fbsd-nat.c: ... this.
	* sparc64fbsd-tdep.c: Rename to ...
	* sparc64-fbsd-tdep.c: ... this.
	* sparc64nbsd-nat.c: Rename to ...
	* sparc64-nbsd-nat.c: ... this.
	* sparc64nbsd-tdep.c: Rename to ...
	* sparc64-nbsd-tdep.c: ... this.
	* sparc64obsd-nat.c: Rename to ...
	* sparc64-obsd-nat.c: ... this.
	* sparc64obsd-tdep.c: Rename to ...
	* sparc64-obsd-tdep.c: ... this.
	* sparc64-tdep.h: Update comments.
	* vaxbsd-nat.c: Rename to ...
	* vax-bsd-nat.c: ... this.
	* vaxnbsd-tdep.c: Rename to ...
	* vax-nbsd-tdep.c: ... this.
	* vaxobsd-tdep.c: Rename to ...
	* vax-obsd-tdep.c: ... this.
	* x86bsd-nat.h: Rename to ...
	* x86-bsd-nat.h: ... this, adjust include barrier and comment.
	* x86bsd-nat.c: Rename to ...
	* x86-bsd-nat.c: ... this, adjust include.
	* configure.tgt: Update renamed files.
	* config/alpha/fbsd.mh: Update renamed files.
	* config/alpha/nbsd.mh: Update renamed files.
	* config/arm/nbsdelf.mh: Update renamed files.
	* config/djgpp/fnchange.lst: Update renamed files.
	* config/i386/fbsd.mh: Update renamed files.
	* config/i386/fbsd64.mh: Update renamed files.
	* config/i386/i386gnu.mh: Update renamed files.
	* config/i386/i386sol2.mh: Update renamed files.
	* config/i386/nbsd64.mh: Update renamed files.
	* config/i386/nbsdelf.mh: Update renamed files.
	* config/i386/obsd.mh: Update renamed files.
	* config/i386/obsd64.mh: Update renamed files.
	* config/i386/sol2-64.mh: Update renamed files.
	* config/m68k/linux.mh: Update renamed files.
	* config/m68k/nbsdelf.mh: Update renamed files.
	* config/m68k/obsd.mh: Update renamed files.
	* config/m88k/obsd.mh: Update renamed files.
	* config/mips/nbsd.mh: Update renamed files.
	* config/mips/obsd64.mh: Update renamed files.
	* config/pa/nbsd.mh: Update renamed files.
	* config/pa/obsd.mh: Update renamed files.
	* config/powerpc/fbsd.mh: Update renamed files.
	* config/powerpc/nbsd.mh: Update renamed files.
	* config/powerpc/obsd.mh: Update renamed files.
	* config/sh/nbsd.mh: Update renamed files.
	* config/sparc/fbsd.mh: Update renamed files.
	* config/sparc/nbsd64.mh: Update renamed files.
	* config/sparc/nbsdelf.mh: Update renamed files.
	* config/sparc/obsd64.mh: Update renamed files.
	* config/vax/nbsdelf.mh: Update renamed files.
	* config/vax/obsd.mh: Update renamed files.
2016-11-23 09:45:23 -05:00
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
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
ecd75fc8ee Update Copyright year range in all files maintained by GDB. 2014-01-01 07:54:24 +04:00
28e7fd6234 Update years in copyright notice for the GDB files.
Two modifications:
  1. The addition of 2013 to the copyright year range for every file;
  2. The use of a single year range, instead of potentially multiple
     year ranges, as approved by the FSF.
2013-01-01 06:33:28 +00:00
0b30217134 Copyright year update in most files of the GDB Project.
gdb/ChangeLog:

        Copyright year update in most files of the GDB Project.
2012-01-04 08:17:56 +00:00
7b6bb8daac run copyright.sh for 2011. 2011-01-01 15:34:07 +00:00
4c38e0a4fc Update copyright year in most headers.
Automatic update by copyright.sh.
2010-01-01 07:32:07 +00:00
209bd28e8b * i386-tdep.h (struct gdbarch_tdep): Add i386_eflags_type and
i386_mxcsr_type members.
	(i386_eflags_type): Make into function.
	(i386_mxcsr_type): Likewise.
	* i386-tdep.c (i386_eflags_type): Make into function.
	(i386_mxcsr_type): Likewise.
	(i386_register_type): Update uses.
	(i386_init_types): Remove.
	(_initialize_i386_tdep): Do not call it.
	* amd64-tdep.c (amd64_register_type): Update uses.

	* m68k-tdep.h (struct gdbarch_tdep): Add m68k_ps_type member.
	* m68k-tdep.c (m68k_ps_type): Make into function.
	(m68k_register_type): Update use.
	(m68k_init_types): Remove.
	(_initialize_m68k_tdep): Do not call it.

	* sparc-tdep.h (struct gdbarch_tdep): Add sparc_psr_type,
	sparc_fsr_type, sparc64_pstate_type, sparc64_fsr_type, and
	sparc64_fprs_type members.
	* sparc-tdep.c (sparc_psr_type): Make into function.
	(sparc_fsr_type): Likewise.
	(sparc32_register_type): Update uses.
	(sparc_init_types): Remove.
	(_initialize_sparc_tdep): Do not call it.
	* sparc64-tdep.c (sparc64_pstate_type): Make into function.
	(sparc64_fsr_type): Likewise.
	(sparc64_fprs_type): Likewise.
	(sparc64_register_type): Update uses.
	(sparc64_init_types): Remove.
	(_initialize_sparc64_tdep): Likewise.
2009-07-02 12:52:52 +00:00
270677457f * gdbtypes.h (builtin_type_ieee_single, builtin_type_ieee_double,
builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
	builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
	(init_float_type, init_complex_type): Add prototypes.
	* gdbtypes.c (builtin_type_ieee_single, builtin_type_ieee_double,
	builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
	builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
	(_initialize_gdbtypes): Do not initialize them.
	(build_flt): Rename to ...
	(init_float_type): ... this.  Make global.
	(build_complex): Rename to ...
	(init_complex_type): ... this.  Make global.  Remove BIT argument.
	(gdbtypes_post_init): Update calls.

	* ada-lang.c (ada_language_arch_info): Use init_float_type.
	* jv-lang.c (build_java_types): Likewise.
	* m2-lang.c (build_m2_types): Likewise.
	* f-lang.c (build_fortran_types): Use init_float_type and
	init_complex_type.

	* target-descriptions.c (tdesc_gdb_type): Call init_float_type instead
	of using builtin_type_ieee_single, builtin_type_ieee_double, or
	builtin_type_arm_ext.

	* ia64-tdep.h (struct gdbarch_tdep): Add ia64_ext_type member.
	* ia64-tdep.c (builtin_type_ia64_ext): Remove.
	(_initialize_ia64_tdep): Do not initialize it.
	(floatformat_valid, floatformat_ia64_ext, floatformats_ia64_ext):
	Move up.
	(ia64_ext_type): New function.
	(ia64_register_reggroup_p, ia64_convert_register_p,
	ia64_register_to_value, ia64_value_to_register,
	ia64_extract_return_value, ia64_store_return_value): Use ia64_ext_type
	instead of builtin_type_ia64_ext.

	* i386-tdep.h (struct gdbarch_tdep): Add i387_ext_type member.
	(i387_ext_type): Add prototype.
	* i386-tdep.c (i387_ext_type): New function.
	(i386_extract_return_value, i386_store_return_value,
	i386_register_type): Use it instead of builtin_type_i387_ext.
	* amd64-tdep.c (amd64_register_type): Likewise.
	* i387-tdep.c (print_i387_value, i387_register_to_value,
	i387_value_to_register): Likewise.
	(print_i387_value, print_i387_ext): Add GDBARCH argument.
	(print_i387_ext, i387_print_float_info): Pass to subroutines.

	* m68k-tdep.h (struct gdbarch_tdep): Add m68881_ext_type member.
	* m68k-tdep.c (m68881_ext_type): New function.
	(m68k_register_type, m68k_convert_register_p): Use it instead
	of builtin_type_m68881_ext.

	* arm-tdep.h (struct gdbarch_tdep): Add arm_ext_type member.
	* arm-tdep.c (arm_ext_type): New function.
	(arm_register_type): Use it instead of builtin_type_arm_ext.

	* alpha-tdep.c (alpha_register_type): Use builtin types
	instead of builtin_type_ieee_double.

	* mips-tdep.c (mips_float_register_type, mips_double_register_type):
	Remove.
	(mips_register_type): Use builtin types instead of
	builtin_type_ieee_single and builtin_type_ieee_double.
	(mips_print_fp_register): Use builtin types instead of
	mips_float_register_type and mips_double_register_type.

	* hppa-tdep.c (hppa32_register_type, hppa64_register_type):
	Use builtin types instead of builtin_type_ieee_single and
	builtin_type_ieee_double.
2009-07-02 12:48:54 +00:00
0fb0cc7590 Updated copyright notices for most files. 2009-01-03 05:58:08 +00:00
6ba3842523 * m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter.
* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter.
	Use it instead of current_gdbarch.
	(m68kbsd_supply_fpregset): Update call.
	* m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise.
	(m68kbsd_collect_fpregset): Likewise.
2008-09-05 11:44:24 +00:00
9b254dd1ce Updated copyright notices for most files. 2008-01-01 22:53:26 +00:00
a9762ec78a Switch the license of all .c files to GPLv3.
Switch the license of all .h files to GPLv3.
        Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
8ed86d01ca * m68k-tdep.h (enum m68k_flavour): New.
(struct gdbarch_tdep): New fields
	float_return, flavour and fpregs_present.
	* m68k-tdep.c (m68k_register_type): Use
	fpregs_present and conditionalize floating
	registers type on flavour.
	(m68k_register_names): New.
	(m68k_register_name): Use the above.
	(m68k_convert_register_p): Consult fpregs_present.
	(m68k_register_to_value, m68k_value_to_register):
	Use register_type to obtain the type of floating
	point registers.
	(m68k_svr4_extract_return_value): Check tdep->float_return.
	Use register_type to get the type of floating
	point regiters.
	(m68k_svr4_store_return_value): Likewise.
	(m68k_dwarf_reg_to_regnum): Check tdep->fpregs_present.
	(m68k_analyze_register_saves): Likewise.
	(m68k_gdbarch_init): Extract infromation
	from XML description, if present.  Guess coldfire by
	looking at the file, if present. Conditionalize
	setting of long double format.  Set decr_pc_after_break
	to 2 on coldfire and fido.  Enable XML-driven
	register description.
	* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Use
	size of tdep->fpreg_type, as opposed to hardcoded value.
	* Makefile.in (m68k-tdep.o): Update dependencies.
2007-06-15 20:19:17 +00:00
6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
197e01b6dc * breakpoint.c:
* arm-tdep.c:
	* ia64-tdep.c:
	* i386-tdep.c:
	* hpread.c:
	* hppa-tdep.c:
	* hppa-hpux-tdep.c:
	* gnu-nat.c:
	* gdbtypes.c:
	* gdbarch.h:
	* gdbarch.c:
	* eval.c:
	* dwarf2read.c:
	* dbxread.c:
	* copying:
	* symfile.c:
	* stabsread.c:
	* sh64-tdep.c:
	* sh-tdep.c:
	* s390-tdep.c:
	* rs6000-tdep.c:
	* remote.c:
	* remote-mips.c:
	* mips-tdep.c:
	* mdebugread.c:
	* linux-nat.c:
	* infrun.c:
	* xcoffread.c:
	* win32-nat.c:
	* valops.c:
	* utils.c:
	* tracepoint.c:
	* target.c:
	* symtab.c:
	* c-exp.y:
	* ada-valprint.c:
	* ada-typeprint.c:
	* ada-lex.l:
	* ada-lang.h:
	* ada-lang.c:
	* ada-exp.y:
	* alphafbsd-tdep.c:
	* alphabsd-tdep.h:
	* alphabsd-tdep.c:
	* alphabsd-nat.c:
	* alpha-tdep.h:
	* alpha-tdep.c:
	* alpha-osf1-tdep.c:
	* alpha-nat.c:
	* alpha-mdebug-tdep.c:
	* alpha-linux-tdep.c:
	* alpha-linux-nat.c:
	* aix-thread.c:
	* abug-rom.c:
	* arch-utils.c:
	* annotate.h:
	* annotate.c:
	* amd64obsd-tdep.c:
	* amd64obsd-nat.c:
	* amd64nbsd-tdep.c:
	* amd64nbsd-nat.c:
	* amd64fbsd-tdep.c:
	* amd64fbsd-nat.c:
	* amd64bsd-nat.c:
	* amd64-tdep.h:
	* amd64-tdep.c:
	* amd64-sol2-tdep.c:
	* amd64-nat.h:
	* amd64-nat.c:
	* amd64-linux-tdep.c:
	* amd64-linux-nat.c:
	* alphanbsd-tdep.c:
	* block.h:
	* block.c:
	* bfd-target.h:
	* bfd-target.c:
	* bcache.h:
	* bcache.c:
	* ax.h:
	* ax-general.c:
	* ax-gdb.h:
	* ax-gdb.c:
	* avr-tdep.c:
	* auxv.h:
	* auxv.c:
	* armnbsd-tdep.c:
	* armnbsd-nat.c:
	* arm-tdep.h:
	* arm-linux-nat.c:
	* arch-utils.h:
	* charset.c:
	* call-cmds.h:
	* c-valprint.c:
	* c-typeprint.c:
	* c-lang.h:
	* c-lang.c:
	* buildsym.h:
	* buildsym.c:
	* bsd-uthread.h:
	* bsd-uthread.c:
	* bsd-kvm.h:
	* bsd-kvm.c:
	* breakpoint.h:
	* core-regset.c:
	* core-aout.c:
	* completer.h:
	* completer.c:
	* complaints.h:
	* complaints.c:
	* command.h:
	* coffread.c:
	* coff-solib.h:
	* coff-solib.c:
	* coff-pe-read.h:
	* coff-pe-read.c:
	* cli-out.h:
	* cli-out.c:
	* charset.h:
	* dink32-rom.c:
	* dictionary.h:
	* dictionary.c:
	* demangle.c:
	* defs.h:
	* dcache.h:
	* dcache.c:
	* d10v-tdep.c:
	* cpu32bug-rom.c:
	* cp-valprint.c:
	* cp-support.h:
	* cp-support.c:
	* cp-namespace.c:
	* cp-abi.h:
	* cp-abi.c:
	* corelow.c:
	* corefile.c:
	* environ.c:
	* elfread.c:
	* dwarfread.c:
	* dwarf2loc.c:
	* dwarf2expr.h:
	* dwarf2expr.c:
	* dwarf2-frame.h:
	* dwarf2-frame.c:
	* dve3900-rom.c:
	* dummy-frame.h:
	* dummy-frame.c:
	* dsrec.c:
	* doublest.h:
	* doublest.c:
	* disasm.h:
	* disasm.c:
	* fork-child.c:
	* findvar.c:
	* fbsd-nat.h:
	* fbsd-nat.c:
	* f-valprint.c:
	* f-typeprint.c:
	* f-lang.h:
	* f-lang.c:
	* expression.h:
	* expprint.c:
	* exec.h:
	* exec.c:
	* exceptions.h:
	* exceptions.c:
	* event-top.h:
	* event-top.c:
	* event-loop.h:
	* event-loop.c:
	* gdb.c:
	* gdb-stabs.h:
	* gdb-events.h:
	* gdb-events.c:
	* gcore.c:
	* frv-tdep.h:
	* frv-tdep.c:
	* frv-linux-tdep.c:
	* frame.h:
	* frame.c:
	* frame-unwind.h:
	* frame-unwind.c:
	* frame-base.h:
	* frame-base.c:
	* gdb_vfork.h:
	* gdb_thread_db.h:
	* gdb_string.h:
	* gdb_stat.h:
	* gdb_regex.h:
	* gdb_ptrace.h:
	* gdb_proc_service.h:
	* gdb_obstack.h:
	* gdb_locale.h:
	* gdb_dirent.h:
	* gdb_curses.h:
	* gdb_assert.h:
	* gdbarch.sh:
	* gdb.h:
	* hpux-thread.c:
	* hppabsd-nat.c:
	* hppa-tdep.h:
	* hpacc-abi.c:
	* h8300-tdep.c:
	* gregset.h:
	* go32-nat.c:
	* gnu-v3-abi.c:
	* gnu-v2-abi.h:
	* gnu-v2-abi.c:
	* gnu-nat.h:
	* glibc-tdep.c:
	* gdbtypes.h:
	* gdbcore.h:
	* gdbcmd.h:
	* i386nbsd-tdep.c:
	* i386nbsd-nat.c:
	* i386gnu-tdep.c:
	* i386gnu-nat.c:
	* i386fbsd-tdep.c:
	* i386fbsd-nat.c:
	* i386bsd-tdep.c:
	* i386bsd-nat.h:
	* i386bsd-nat.c:
	* i386-tdep.h:
	* i386-sol2-nat.c:
	* i386-nto-tdep.c:
	* i386-nat.c:
	* i386-linux-tdep.h:
	* i386-linux-tdep.c:
	* i386-linux-nat.c:
	* i386-cygwin-tdep.c:
	* inf-ttrace.c:
	* inf-ptrace.h:
	* inf-ptrace.c:
	* inf-loop.h:
	* inf-loop.c:
	* inf-child.h:
	* inf-child.c:
	* ia64-tdep.h:
	* ia64-linux-nat.c:
	* i387-tdep.h:
	* i387-tdep.c:
	* i386v4-nat.c:
	* i386v-nat.c:
	* i386obsd-tdep.c:
	* i386obsd-nat.c:
	* kod.c:
	* jv-valprint.c:
	* jv-typeprint.c:
	* jv-lang.h:
	* jv-lang.c:
	* irix5-nat.c:
	* iq2000-tdep.c:
	* interps.h:
	* interps.c:
	* inftarg.c:
	* inflow.h:
	* inflow.c:
	* inferior.h:
	* infcmd.c:
	* infcall.h:
	* infcall.c:
	* inf-ttrace.h:
	* m32r-tdep.h:
	* m32r-tdep.c:
	* m32r-rom.c:
	* m32r-linux-tdep.c:
	* m32r-linux-nat.c:
	* m2-valprint.c:
	* m2-typeprint.c:
	* m2-lang.h:
	* m2-lang.c:
	* lynx-nat.c:
	* linux-thread-db.c:
	* linux-nat.h:
	* linespec.c:
	* libunwind-frame.h:
	* libunwind-frame.c:
	* language.h:
	* language.c:
	* macroexp.c:
	* macrocmd.c:
	* m88kbsd-nat.c:
	* m88k-tdep.h:
	* m88k-tdep.c:
	* m68klinux-tdep.c:
	* m68klinux-nat.c:
	* m68kbsd-tdep.c:
	* m68kbsd-nat.c:
	* m68k-tdep.h:
	* m68k-tdep.c:
	* mips-linux-nat.c:
	* mips-irix-tdep.c:
	* minsyms.c:
	* memattr.h:
	* memattr.c:
	* mem-break.c:
	* mdebugread.h:
	* main.h:
	* main.c:
	* macrotab.h:
	* macrotab.c:
	* macroscope.h:
	* macroscope.c:
	* macroexp.h:
	* nbsd-tdep.c:
	* mt-tdep.c:
	* monitor.h:
	* monitor.c:
	* mn10300-tdep.h:
	* mn10300-tdep.c:
	* mn10300-linux-tdep.c:
	* mipsv4-nat.c:
	* mipsread.c:
	* mipsnbsd-tdep.h:
	* mipsnbsd-tdep.c:
	* mipsnbsd-nat.c:
	* mips64obsd-tdep.c:
	* mips64obsd-nat.c:
	* mips-tdep.h:
	* mips-mdebug-tdep.c:
	* mips-linux-tdep.c:
	* osabi.h:
	* osabi.c:
	* ocd.h:
	* ocd.c:
	* observer.c:
	* objfiles.h:
	* objfiles.c:
	* objc-lang.h:
	* objc-lang.c:
	* objc-exp.y:
	* nto-tdep.h:
	* nto-tdep.c:
	* nto-procfs.c:
	* nlmread.c:
	* nbsd-tdep.h:
	* ppcobsd-tdep.c:
	* ppcobsd-nat.c:
	* ppcnbsd-tdep.h:
	* ppcnbsd-tdep.c:
	* ppcnbsd-nat.c:
	* ppcbug-rom.c:
	* ppc-tdep.h:
	* ppc-sysv-tdep.c:
	* ppc-linux-tdep.c:
	* ppc-linux-nat.c:
	* ppc-bdm.c:
	* parser-defs.h:
	* parse.c:
	* p-valprint.c:
	* p-typeprint.c:
	* p-lang.h:
	* p-lang.c:
	* remote-fileio.h:
	* remote-fileio.c:
	* remote-est.c:
	* remote-e7000.c:
	* regset.h:
	* regset.c:
	* reggroups.h:
	* reggroups.c:
	* regcache.h:
	* regcache.c:
	* proc-why.c:
	* proc-service.c:
	* proc-events.c:
	* printcmd.c:
	* ppcobsd-tdep.h:
	* sentinel-frame.h:
	* sentinel-frame.c:
	* scm-valprint.c:
	* scm-tags.h:
	* scm-lang.h:
	* scm-lang.c:
	* scm-exp.c:
	* s390-tdep.h:
	* rom68k-rom.c:
	* remote.h:
	* remote-utils.c:
	* remote-st.c:
	* remote-sim.c:
	* remote-sds.c:
	* remote-rdp.c:
	* remote-rdi.c:
	* remote-hms.c:
	* sim-regno.h:
	* shnbsd-tdep.h:
	* shnbsd-tdep.c:
	* shnbsd-nat.c:
	* sh-tdep.h:
	* serial.h:
	* serial.c:
	* ser-unix.h:
	* ser-unix.c:
	* ser-tcp.c:
	* ser-pipe.c:
	* ser-go32.c:
	* ser-e7kpc.c:
	* ser-base.h:
	* ser-base.c:
	* solib.c:
	* solib-svr4.h:
	* solib-svr4.c:
	* solib-sunos.c:
	* solib-som.h:
	* solib-som.c:
	* solib-pa64.h:
	* solib-pa64.c:
	* solib-osf.c:
	* solib-null.c:
	* solib-legacy.c:
	* solib-irix.c:
	* solib-frv.c:
	* solib-aix5.c:
	* sol-thread.c:
	* sparc64-linux-tdep.c:
	* sparc64-linux-nat.c:
	* sparc-tdep.h:
	* sparc-tdep.c:
	* sparc-sol2-tdep.c:
	* sparc-sol2-nat.c:
	* sparc-nat.h:
	* sparc-nat.c:
	* sparc-linux-tdep.c:
	* sparc-linux-nat.c:
	* source.h:
	* source.c:
	* somread.c:
	* solist.h:
	* solib.h:
	* std-regs.c:
	* stack.h:
	* stack.c:
	* stabsread.h:
	* sparcobsd-tdep.c:
	* sparcnbsd-tdep.c:
	* sparcnbsd-nat.c:
	* sparc64obsd-tdep.c:
	* sparc64nbsd-tdep.c:
	* sparc64nbsd-nat.c:
	* sparc64fbsd-tdep.c:
	* sparc64fbsd-nat.c:
	* sparc64-tdep.h:
	* sparc64-tdep.c:
	* sparc64-sol2-tdep.c:
	* sparc64-nat.c:
	* ui-file.c:
	* typeprint.h:
	* typeprint.c:
	* tramp-frame.h:
	* tramp-frame.c:
	* trad-frame.h:
	* trad-frame.c:
	* tracepoint.h:
	* top.c:
	* tobs.inc:
	* thread.c:
	* terminal.h:
	* target.h:
	* symfile.h:
	* stop-gdb.c:
	* vaxbsd-nat.c:
	* vax-tdep.h:
	* vax-tdep.c:
	* vax-nat.c:
	* varobj.h:
	* varobj.c:
	* value.h:
	* value.c:
	* valprint.h:
	* valprint.c:
	* v850-tdep.c:
	* uw-thread.c:
	* user-regs.c:
	* ui-out.h:
	* ui-out.c:
	* ui-file.h:
	* xcoffsolib.h:
	* xcoffsolib.c:
	* wrapper.c:
	* wince.c:
	* wince-stub.h:
	* wince-stub.c:
	* vaxobsd-tdep.c:
	* vaxnbsd-tdep.c:
	* gdb_gcore.sh:
	* copying.c:
	* configure.ac:
	* aclocal.m4:
	* acinclude.m4:
	* reply_mig_hack.awk:
	* observer.sh:
	* gdb_mbuild.sh:
	* arm-linux-tdep.c:
	* blockframe.c:
	* dbug-rom.c:
	* environ.h:
	* dwarf2loc.h:
	* gdb-events.sh:
	* glibc-tdep.h:
	* gdb_wait.h:
	* gdbthread.h:
	* i386-sol2-tdep.c:
	* hppabsd-tdep.c:
	* hppa-linux-nat.c:
	* hppa-hpux-nat.c:
	* ia64-linux-tdep.c:
	* infptrace.c:
	* linespec.h:
	* maint.c:
	* mips-mdebug-tdep.h:
	* remote-m32r-sdi.c:
	* s390-nat.c:
	* rs6000-nat.c:
	* remote-utils.h:
	* sh3-rom.c:
	* sh-linux-tdep.c:
	* top.h:
	* symtab.h:
	* symmisc.c:
	* symfile-mem.c:
	* srec.h:
	* user-regs.h:
	* version.h:
	* valarith.c:
	* xstormy16-tdep.c:
	* wrapper.h:
	* Makefile.in:
	* f-exp.y:
	* cris-tdep.c:
	* cp-name-parser.y:
	* procfs.c:
	* proc-utils.h:
	* proc-flags.c:
	* proc-api.c:
	* p-exp.y:
	* m68hc11-tdep.c:
	* m2-exp.y:
	* kod.h:
	* kod-cisco.c:
	* jv-exp.y:
	* hppa-linux-tdep.c: Add (c) after Copyright.  Update the FSF
	address.
2005-12-17 22:34:03 +00:00
c0c2b0dbf9 * m68k-tdep.h (m68k_regnum): Add M68K_D2_REGNUM, M68K_D7_REGNUM
and M68K_A2_REGNUM.
2004-05-17 10:50:32 +00:00
f595cb1909 * m68k-tdep.h (struct gdbarch_tdep): Add member
struct_value_regnum.
(m68k_svr4_init_abi): New prototype.
* m68k-tdep.c: Include "floatformat.h".  Add comment about all the
different calling conventions.
(m68k_extract_return_value): Remove code dealing with single-field
structs.
(m68k_store_return_value): Remove code dealing with single-field
structs.  Correctly store return values of 5, 6, 7 or 8 bytes.
(m68k_extract_struct_value_address): Remove function.
(m68k_svr4_extract_return_value,m68k_svr4_store_return_value)
(m68k_reg_struct_return_p, m68k_return_value)
(m68k_svr4_return_value): New functions.
(m68k_use_struct_convention): Remove function.
(m68k_push_dummy_call): Use new struct_value_regnum member of
`struct gdbarch_tdep' instead of hardcoded register number to
store STRUCT_ADDR.
(m68k_svr4_init_abi): New function.
(m68k_gdbarch_init): Don't set extract_return_value,
store_return_values, deprecated_extract_struct_value_address and
use_struct_convention.  Set return_value instead.  Initialize new
struct_value_regnum member of `struct gdbarch_tdep'.
* m68klinux-tdep.c: Update copyright year.
(m68k_linux_extract_return_value, m68k_linux_store_return_value)
(m68k_linux_extract_struct_value_address): Remove function.
(m68k_linux_init_abi): Don't set extract_return_value,
store_return_values, deprecated_extract_struct_value_address and
use_struct_convention.  Call m68k_svr4_init_abi but override the
new struct_value_regnum member of `struct gdbarch_tdep'.
* Makefile.in (m68k-tdep.o): Update dependencies.
2004-05-03 21:56:09 +00:00
17e20bce79 2004-05-01 Andrew Cagney <cagney@redhat.com>
* Makefile.in (m68klinux-nat.o): Update dependencies.
	* m68klinux-tdep.c: Include "trad-frame.h" and "frame-unwind.h".
	(m68k_linux_sigtramp_frame_cache)
	(m68k_linux_sigtramp_frame_this_id)
	(m68k_linux_sigtramp_frame_prev_register)
	(m68k_linux_sigtramp_frame_unwind)
	(m68k_linux_sigtramp_frame_sniffer)
	(struct m68k_linux_sigtramp_info, m68k_linux_init_abi): Code from
	m68k-tdep.h and m68k-tdep.c, add "linux" to function and variable
	names, use trad-frame.h.
	* m68k-tdep.h (struct gdbarch_tdep): Delete get_sigtramp_info.
	(struct m68k_sigtramp_info): Delete.
	* m68k-tdep.c (m68k_sigtramp_frame_cache)
	(m68k_sigtramp_frame_this_id, m68k_sigtramp_frame_prev_register)
	(m68k_sigtramp_frame_unwind, m68k_sigtramp_frame_sniffer)
	(m68k_gdbarch_init): Delete all the sigtramp code, moved to
	"m68klinux-tdep.c".
2004-05-01 15:10:15 +00:00
511dd2cd07 * m68k-tdep.h (m68kbsd_fpreg_offset): New prototype. 2004-05-01 14:08:47 +00:00
748894bf5c * m68k-tdep.h: Tweak comments.
* m68k-tdep.c: Tweak comment.
2004-04-18 13:03:13 +00:00
c481dac737 * m68k-tdep.h (enum struct_return): Define.
(struct gdbarch_tdep): Add struct_return.
	* m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
	bytes are padded to the right, not to the left.  Pass struct value
	address in register %a1, not on stack.
	(m68k_use_struct_convention): New function.
	(m68k_gdbarch_init): Set use_struct_convention.  Initialize
	struct_return in tdep to pcc_struct_return.
	* m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
	reg_struct_return.
2003-07-09 21:36:08 +00:00
8de307e0c2 * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
dependencies.
	* m68k-tdep.c (NUM_FREGS): Delete.
	(SIG_PC_FP_OFFSET): Delete.
	(TARGET_M68K): Delete.
	(P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
	P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
	P_MOVEL_SP, P_MOVEML_SP): Define.
	(P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
	P_TRAP): Delete.
        (m68k_register_raw_size): Delete.
	(m68k_register_virtual_size): Delete.
	(m68k_register_type): Renamed from m68k_register_virtual_type and
	add gdbarch argument.
	(m68k_store_struct_return): Delete.
	(m68k_deprecated_extract_return_value): Delete.
	(m68k_deprecated_extract_struct_value_address): Delete.
	(m68k_frame_chain): Delete.
	(m68k_frame_saved_pc): Delete.
	(m68k_fix_call_dummy): Delete.
	(m68k_push_dummy_frame): Delete.
	(m68k_pop_frame): Delete.
	(m68k_extract_return_value): New function.
	(m68k_store_return_value): Rewrite using regcache.
	(m68k_extract_struct_value_address): Rewrite using regcache.
	(m68k_push_dummy_call): New function.
	(struct m68k_frame_cache): Define.
	(m68k_alloc_frame_cache): New function.
	(m68k_analyze_frame_setup): New function.
	(m68k_analyze_register_saves): New function.
	(m68k_analyze_prologue): New function.
	(m68k_skip_prologue): Rewrite using above functions.
	(m68k_unwind_pc): New function.
	(m68k_frame_cache): New function.
	(m68k_frame_this_id): New function.
	(m68k_frame_prev_register): New function.
	(m68k_frame_unwind): New variable.
	(m68k_frame_p): New function.
	(m68k_sigtramp_frame_cache): New function.
	(m68k_sigtramp_frame_this_id): New function.
	(m68k_sigtramp_frame_prev_register): New function.
	(m68k_sigtramp_frame_unwind): New variable.
	(m68k_sigtramp_frame_p): New function.
	(m68k_frame_base_address): New function.
	(m68k_frame_base): New function.
	(m68k_unwind_dummy_id): New function.
	(fill_gregset): Use regcache_collect.
	(fill_fpregset): Likewise.
	(m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
	defined.
	(m68k_gdbarch_init): Don't define call_dummy_words.  Don't set
	deprecated_init_frame_pc, deprecated_store_struct_return,
	deprecated_extract_return_value, deprecated_store_return_value,
	deprecated_frame_chain, deprecated_frame_saved_pc,
	deprecated_frame_init_saved_regs, deprecated_register_raw_size,
	deprecated_register_virtual_size,
	deprecated_max_register_raw_size,
	deprecated_max_register_virtual_size,
	deprecated_register_virtual_type, deprecated_register_size,
	deprecated_register_byte, deprecated_register_bytes,
	deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
	call_dummy_location, deprecated_call_dummy_breakpoint_offset,
	deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
	deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
	deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
	deprecated_push_dummy_frame, deprecated_pop_frame,
	deprecated_dummy_write_sp.  Set deprecated_saved_pc_after_call
	only if SYSCALL_TRAP is defined.  Set extract_return_value,
	store_return_value, extract_struct_value_address, register_type,
	push_dummy_call, unwind_dummy_id, unwind_pc.  Add two frame unwind
	predicates.
	* m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
	M68K_MAX_REGISTER_SIZE): Define.
	(struct m68k_sigtramp_info): Define.
	(struct gdbarch_tdep): Add get_sigtramp_info.
	* m68klinux-nat.c (fetch_register): Use register_size instead of
	REGISTER_RAW_SIZE.  Don't put assignment in if.
	(store_register): Likewise.
	(fetch_inferior_registers): Likewise.
	(store_inferior_registers): Likewise.
	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
	(m68k_linux_frame_saved_pc): Delete.
	(m68k_linux_sigcontext_reg_offset,
	m68k_linux_ucontext_reg_offset): Define.
	(m68k_linux_get_sigtramp_info): New function.
	(m68k_linux_extract_return_value): Rewrite using regcache.
	(m68k_linux_store_return_value): Likewise.
	(m68k_linux_extract_struct_value_address): Likewise.
	(m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
	Don't set deprecated_frame_saved_pc,
	deprecated_extract_return_value, deprecated_store_return_value,
	deprecated_extract_struct_value_address.  Set
	extract_return_value, store_return_value,
	extract_struct_value_address.
2003-07-07 15:06:11 +00:00
eb2e12d711 * m68k-tdep.c (m68k_register_raw_size): Remove cast.
(m68k_register_virtual_size): Likewise.
	(altos_skip_prologue): Remove obsolete function.
	(isi_frame_num_args): Likewise.
	(news_frame_num_args): Likewise.
	(m68k_fix_call_dummy): Make static.
	(m68k_push_dummy_frame): Likewise.
	(m68k_pop_frame): Likewise.
	(m68k_skip_prologue): Likewise.
	(m68k_frame_init_saved_regs): Likewise.
	(m68k_saved_pc_after_call): Likewise.
	(m68k_get_longjmp_target): Make multi-arch.
	(m68k_gdbarch_init): Allocate and initialize gdbarch_tdep
	structure.  Register m68k_get_longjmp_target if enabled.
	* m68k-tdep.h (struct gdbarch_tdep): Define.
	* config/m68k/tm-m68k.h: Don't include "regcache.h".

	* Makefile.in (config.status): Also depend on configure.tgt
	and configure.host.
	(m68klinux-tdep.o): Update dependencies.
	* configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1.
	* m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define.
	(M68K_LINUX_JB_PC): Define.
	(m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp
	and take additional parameter.
	(m68k_linux_sigtramp_saved_pc): Update.
	(m68k_linux_init_abi): Set jb_pc and jb_elt_size.  Register
	m68k_linux_pc_in_sigtramp, in_plt_section,
	find_solib_trampoline_target.
	* config/m68k/tm-linux.h: Don't include any tm headers.
	(START_INFERIOR_TRAPS_EXPECTED): Remove definition.
	(JB_ELEMENT_SIZE): Likewise.
	(JB_PC): Likewise.
	(GET_LONGJMP_TARGET): Likewise.
	(IN_SIGTRAMP): Likewise.
	(SVR4_SHARED_LIBS): Define this and include "solib.h".
2003-05-25 18:50:55 +00:00
32eeb91a76 * Makefile.in (m68k_tdep_h): Define.
(abug-rom.o, cpu32bug-rom.o, dbug-rom.o, m68k-tdep.o, m68klinux-nat.o)
	(remote-est.o, rom68k-rom.o): Add $(m68k_tdep_h).
	* m68k-tdep.c: Move register number enum ...
	* m68k-tdep.h: ... to this new file and rename the constants from
	E_* to M68K_*.  All uses changed.
	* config/m68k/tm-m68k.h (D0_REGNUM, A0_REGNUM): Remove definitions.
	* abug-rom.c: Include "m68k-tdep.h".  Use
	M68K_D0_REGNUM/M68K_A0_REGNUM instead of D0_REGNUM/A0_REGNUM.
	* cpu32bug-rom.c: Likewise.
	* dbug-rom.c: Likewise.
	* m68k-tdep.c: Likewise.
	* m68klinux-nat.c: Likewise.
	* remote-est.c: Likewise.
	* rom68k-rom.c: Likewise.
	* config/m68k/tm-linux.h: Likewise.
2002-11-23 19:45:12 +00:00