Commit graph

15 commits

Author SHA1 Message Date
Daniel Jacobowitz
fe1f4a5eb6 * cp-abi.c: Include "command.h", "gdbcmd.h", and "ui-out.h".
(auto_cp_abi): New variable.
	(current_cp_abi, num_cp_abis): Make static.
	(CP_ABI_MAX): Define.
	(cp_abis): Turn into an array.
	(value_virtual_fn_field): Fix formatting.
	(switch_to_cp_abi, register_cp_abi): Update.  register_cp_abi now
	takes a pointer.
	(set_cp_abi_as_auto_default, set_cp_abi_cmd, show_cp_abi_cmd)
	(list_cp_abis, _initialize_cp_abi): New functions.
	* cp-abi.h: Add prototype for set_cp_abi_as_auto_default.  Remove
	declarations for cp_abis, num_cp_abis, current_cp_abi, and
	switch_to_cp_abi.  Update prototype for register_cp_abi.
	* Makefile.in (cp-abi.o): Update dependencies.
	* minsyms.c (install_minimal_symbols): Call set_cp_abi_as_auto_default
	instead of switch_to_cp_abi.
	* gnu-v2-abi.c (_initialize_gnu_v2_abi): Likewise.  Update call to
	register_cp_abi.
	* gnu-v3-abi.c (_initialize_gnu_v3_abi): Update call to
	register_cp_abi.
	* hpacc-abi.c (_initialize_hpacc_abi): Likewise.
2003-03-05 18:01:46 +00:00
Daniel Jacobowitz
cef4f5dd72 Fix PR gdb/778
* gdbtypes.c (fill_in_vptr_fieldno): Call check_typedef
        before recursing.
        * gnu-v3-abi.c (gnuv3_virtual_fn_field): Check return value
        of fill_in_vptr_fieldno.
2002-10-02 22:01:53 +00:00
Andrew Cagney
5f8a318830 2002-07-30 Andrew Cagney <ac131313@redhat.com>
* symtab.h: Replace #include "gdb_obstack.h" with opaque
declaration.
* cli/cli-cmds.c, cli/cli-script.c: Include "gdb_string.h".
* gnu-v3-abi.c, arc-tdep.c, cli/cli-decode.c: Ditto.
* avr-tdep.c, mon960-rom.c, i960-tdep.c: Ditto.
* arch-utils.c, cli/cli-setshow.c: Unconditionally include
"gdb_string.h".
* Makefile.in (cli-script.o, cli-cmds.o): Update dependencies.
(gnu-v3-abi.o, cli-setshow.o, i960-tdep.o): Ditto.
(cli-decode.o, mi-cmd-var.o, mi-cmd-disas.o): Ditto.
(avr-tdep.o, mon960-rom.o): Ditto.
(aout_stabs_gnu_h): Define.
(symtab_h): Remove $(gdb_obstack_h).
2002-07-30 13:45:15 +00:00
Andrew Cagney
5ae5f59288 Fix some K&R isms. 2002-07-11 13:50:50 +00:00
Daniel Jacobowitz
79d5b63a45 2002-07-05 Daniel Jacobowitz <drow@mvista.com>
Fix PR gdb/595, gdb/602
        * gnu-v3-abi.c (gnuv3_baseclass_offset): Remove unused variables.
        Don't call value_cast, just read the vtable pointer; update comments
        to match.
2002-07-05 16:23:13 +00:00
Andrew Cagney
451fbdda72 * gdbarch.sh (gdbarch_data): Add gdbarch parameter.
* gdbarch.h, gdbarch.c: Regenerate.
* gnu-v3-abi.c: Update copyright.
(vtable_address_point_offset): Update.
(gnuv3_rtti_type): Update.
(gnuv3_baseclass_offset): Update.
* solib-svr4.c (svr4_fetch_link_map_offsets): Update.
(init_fetch_link_map_offsets): Update.
* remote.c (get_remote_state): Update.
2002-05-12 01:02:58 +00:00
Jason Merrill
f773fdbbd5 * gnu-v3-abi.c (gnuv3_rtti_type): If we get confused, just warn
and return NULL.
2002-05-03 19:38:29 +00:00
Daniel Jacobowitz
76b79d6ec8 2002-02-01 Daniel Jacobowitz <drow@mvista.com>
* gnu-v3-abi.c (gnuv3_virtual_fn_field): Update comments.
        Update ``this'' pointer when calling virtual functions.
2002-02-02 00:04:46 +00:00
Per Bothner
98081e55d9 * gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name
isn't NULL, which can happen with some gcj-3.x-produced code.
2002-01-20 00:09:59 +00:00
Daniel Jacobowitz
1514d34ee0 2002-01-04 Daniel Jacobowitz <drow@mvista.com>
* cp-abi.c: Fix whitespace.
        (baseclass_offset): New wrapper function.
        * cp-abi.h (baseclass_offset): Add prototype.
        (struct cp_abi_ops): Add baseclass_offset pointer.

        * valops.c (vb_match): Move to...
        * gnu-v2-abi.c (vb_match): here.
        * valops.c (baseclass_offset): Move to...
        * gnu-v2-abi.c (gnuv2_baseclass_offset): here, and rename.

        * gnu-v3-abi.c (gnuv3_baseclass_offset): New function.

        * gnu-v2-abi.c (init_gnuv2_ops): Initialize baseclass_offset.
        * gnu-v3-abi.c (init_gnuv3_ops): Likewise.
        * hpacc-abi.c (init_hpacc_ops): Likewise.
2002-01-04 18:20:19 +00:00
Daniel Jacobowitz
21cfb3b661 * values.c (value_primitive_field): Add embedded_offset to the
address of structure members.
        * gnu-v3-abi.c (gnuv3_rtti_type): Cast to base type before
        attempting to access vtable pointer.  Set using_enc_p if we cast.
        (gnuv3_virtual_fn_field): Call value_cast with structure rather than
        structure pointer.  Cast to base type before attempting to access
        vtable pointer.
2001-11-30 17:47:51 +00:00
Andrew Cagney
1aa20aa88f * value.h (value_as_address): Rename value_as_pointer.
* eval.c, findvar.c, gnu-v2-abi.c, gnu-v3-abi.c, jv-lang.c,
jv-valprint.c, printcmd.c, stack.c, top.c, valarith.c, valops.c,
values.c: Update.
2001-10-16 01:58:07 +00:00
Andrew Cagney
3d499020f6 s/abort/gdb_assert/ 2001-06-07 14:51:20 +00:00
Jim Blandy
b27b8843dc * gnu-v3-abi.c (gnu_v3_abi_ops, vtable_type_gdbarch_data): Make
these static --- there's no reason other files should use these.
2001-06-01 22:22:25 +00:00
Jim Blandy
7ed49443c2 Add support for the GNU V3 C++ ABI.
(Includes changes by Dan Berlin.)

* gnu-v3-abi.c: New file.
* minsyms.c: #include "value.h" and "cp-abi.h".
(install_minimal_symbols): Check the minimal symbol table for
symbols that look mangled in the V3 style, and select the V3 ABI
if we find any.
* Makefile.in (SFILES): Add gnu-v3-abi.c.
(COMMON_OBS): Add gnu-v3-abi.o.
(gnu-v3-abi.o): Add new rule.
(minsyms.o): Depend on $(cp_abi_h) and $(value_h).
2001-05-22 21:02:41 +00:00