* inferior.h (registers_info, stepi_command, nexti_command,
continue_command, interrupt_target_command): Export from infcmd.c.
* frame.h (args_info, selected_frame_level_changed_hook,
return_command): Export from stack.c.
* v850ice.c (stepi_command, nexti_command, continue_command): use
prototypes from inferior.h.
* tracepoint.c (registers_info, args_info, locals_info): Use
prototypes from frame.h and inferior.h.
* Makefile.in (mi-main.o): Add dependency on frame.h.
2002-10-02 Elena Zannoni <ezannoni@redhat.com>
* mi-main.c (mi_cmd_exec_return): Don't use
return_command_wrapper, use return_command instead.
(mi_cmd_exec_interrupt): Don't use
interrupt_target_command_wrapper, use interrupt_target_command
instead.
(return_command_wrapper, interrupt_target_command_wrapper):
Delete.
Include frame.h.
2002-10-02 Elena Zannoni <ezannoni@redhat.com>
* tui-hooks.c (selected_frame_level_changed_hook): Use the one
exported from frame.h.
* disasm.h: New file.
* mi/mi-cmd-disas.c (gdb_dis_asm_read_memory): Moved to disasm.c.
(compare_lines): Ditto.
(dump_insns): Ditto.
(do_mixed_source_and_assembly): Moved to disasm.c. Added uiout argument. (do_assembly_only): Ditto.
(do_disassembly): Renamed to gdb_disassembly and moved to disasm.c.
Sdded uiout argument.
* Makefile.in: Add new files. Reorder SFILES list. Update dependencies. Include libgdb.a later in the insight executable.
current_source_line static.
(list_command): Moved to cli/cli-cmds.c.
(ambiguous_line_spec): Moved to cli/cli-cmds.c.
(get_first_line_listed): New accessor function.
(get_lines_to_list): New accessor function.
(get_current_source_symtab_and_line): New function. Retrieves the
position in the source code that we consider current.
(get_current_or_default_source_symtab_and_line): New function.
Like the above but attempts to determine a default position if one
is not currently defined.
(set_current_source_symtab_and_line): New function. Sets the source
code position considered current and returns the previously set one.
(clear_current_source_symtab_and_line): Reset stored information about
a current source line.
(_initialize_source): Remove registration for the "list" command and
its alias.
* source.h: Add declarations for the new functions above.
* symtab.h: Remove declarations for the global variables mentioned
above.
* breakpoint.c (parse_breakpoint_sals): Use accessor functions to
obtain current source line.
* linespec.c (decode_line_1): Ditto.
* macroscope.c (default_macro_scope): Ditto.
* scm-lang.c (scm_unpac): Ditto.
* stack.c (print_frame_info_base): Ditto.
* symfile.c (clear_symtab_users): Ditto.
* symtab.c (decode_line_spec): Ditto.
* cli/cli-cmds.c (list_command): Moved here from source.c.
(ambiguous_line_spec): Moved here from source.c.
(_init_cli_cmds): Add definition for "list" and its alias.
* Makefile.in: Update dependencies.
$(i386_tdep_h), and nbsd-tdep.h to dependency list.
* i386-tdep.h (i386bsd_init_abi): New prototype.
* i386bsd-tdep.c (i386bsd_init_abi): Remove "static" from
function declaration.
(_initialize_i386bsd_tdep): Don't register OS ABI handlers
for NetBSD-a.out or NetBSD-ELF.
(i386nbsd_sigtramp_start, i386nbsd_sigtramp_end)
(i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset)
(i386nbsd_init_abi, i386nbsdelf_init_abi): Move to...
* i386nbsd-tdep.c: ...here. Include arch-utils.h, i386-tdep.h,
and nbsd-tdep.h.
(i386nbsd_pc_in_sigtramp): New function.
(i386nbsd_init_abi): Set gdbarch_pc_in_sigtramp to
i386nbsd_pc_in_sigtramp.
(_initialize_i386nbsd_tdep): Register i386nbsd_init_abi
and i386nbsdelf_init_abi OS ABI handlers.
* config/i386/nbsdaout.mt (TDEPFILES): Add nbsd-tdep.o.
* config/i386/nbsdelf.mt (TDEPFILES): Likewise.
list.
* alphanbsd-tdep.c (alphanbsd_sigcontext_addr)
(alphanbsd_skip_sigtramp_frame): New functions.
(alphanbsd_init_abi): Set tdep->skip_sigtramp_frame to
alphanbsd_skip_sigtramp_frame. Set tdep->sigcontext_addr
to alphanbsd_sigcontext_addr.
list.
(nbsd-tdep.o): Add $(gdb_string_h) to dependency list.
* alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): Use
nbsd_pc_in_sigtramp.
* mipsnbsd-tdep.c: Include nbsd-tdep.h.
(mipsnbsd_pc_in_sigtramp): Use nbsd_pc_in_sigtramp.
* nbsd-tdep.c: Include gdb_string.h.
(nbsd_pc_in_sigtramp): New function.
* nbsd-tdep.h (nbsd_pc_in_sigtramp): New prototype.
* ppcnbsd-tdep.c (ppcnbsd_pc_in_sigtramp): New function.
(ppcnbsd_init_abi): Set gdbarch_pc_in_sigtramp to
ppcnbsd_pc_in_sigtramp.
* shnbsd-tdep.c (shnbsd_pc_in_sigtramp): New function.
(shnbsd_init_abi): Set gdbarch_pc_in_sigtramp to
shnbsd_pc_in_sigtramp.
* sparcnbsd-tdep.c (sparcnbsd_init_abi_elf): Set
gdbarch_pc_in_sigtramp to nbsd_pc_in_sigtramp.
* config/mips/nbsd.mt (TDEPFILES): Add nbsd-tdep.o.
* Makefile.in (copying.o): Separate out compile rule.
(hpux-thread.o, procfs.o, signals.o): Ditto.
(v850ice.o, z8k-tdep.o): Ditto.
(tui-file.o): Move to TUI section.
(xdr_ptrace.o, xdr_rdb.o, xdr_ld.o): Move to separate section.
(nindy.o, Onindy.o, ttyflush.o): Move to separate section.
* config/i386/nm-i386gnu.h: New file.
(THREAD_STATE_FLAVOR, THREAD_STATE_SIZE,
THREAD_STATE_SET_TRACED, THREAD_STATE_CLEAR_STATE, ATTACH_DETACH):
Moved here from ...
* config/i386/tm-i386gnu.h: ... here. Removed.
* config/i386/xm-i386gnu.h: Removed.
* config/i386/i386gnu.mh (XM_FILE): Set to xm-i386.h.
(NAT_FILE): Set to nm-i386gnu.h.
* config/i386/i386gnu.mt (TDEPFILES): Add i386gnu-tdep.o.
* i386-tdep.c: New file.
* Makefile.in (ALLDEPFILES): Add i386gnu-nat.c and i386gnu-tdep.c.
(i386gnu-tdep.o): Specify dependencies.
* x86-64-tdep.c: Include "objfiles.h".
(x86_64_gdbarch_init): Set in_solib_call_trampoline to
in_plt_section. From 2002-07-18 Michal Ludvig <mludvig@suse.cz>.
(struct bstring, struct bcache): Move definition to "bcache.c".
Replaced by opaque declaration.
(bcache_xfree): Replace free_bcache.
(bcache_xmalloc, bcache_memory_used): Declare.
* bcache.c: Update copyright.
(struct bstring, struct bcache): Moved to here from "bcache.h".
Update comments.
(bcache_xmalloc, bcache_memory_used): New functions.
(bcache_xfree): Replace function free_bcache.
* Makefile.in (objfiles.o): Add $(bcache_h).
(objfiles_h): Remove $(bcache_h).
(symfile.o): Add $(bcache_h).
* symmisc.c: Update copyright.
(print_symbol_bcache_statistics): Pass psymbol_cache by value.
(print_objfile_statistics): Use bcache_memory_used.
* symfile.c: Include "bcache.h".
(reread_symbols): Use bcache_xfree.
(reread_symbols): Use bcache_xmalloc and bcache_xfree.
(add_psymbol_to_list): Pass psymbol_cache by value.
(add_psymbol_with_dem_name_to_list): Ditto.
* objfiles.h: Update copyright.
(struct bcache): Declare opaque. Do not include "bcache.h".
(struct objfile): Change psymbol_cache and macro_cache to ``struct
bcache'' pointers.
* dwarf2read.c (macro_start_file): Pass macro_cache by value.
* objfiles.c: Include "bcache.h". Update copyright.
(allocate_objfile): Use bcache_xmalloc to create psymbol_cache and
macro_cache.
(free_objfile): Use bcache_xfree.
deprecated_grub_regcache_for_registers.
* values.c: Include "regcache.h".
(value_being_returned): Update. Use
deprecated_grub_regcache_for_registers to extract the register
buffer address.
* value.h (value_being_returned): Change ``retbuf'' parameter to a
``struct regcache''.
* Makefile.in (values.o): Add dependency on $(regcache_h).
* inferior.h (run_stack_dummy): Change type of second parameter to
a ``struct regcache''.
* valops.c (hand_function_call): Change type of retbuf to ``struct
regcache''. Allocate using regcache_xmalloc, clean using
make_cleanup_regcache_xfree.
* infcmd.c (run_stack_dummy): Update. Use
regcache_cpu_no_passthrough instead of memcpy to copy the buffer.
* regcache.c (do_regcache_xfree): New function.
(make_cleanup_regcache_xfree): New function.
* regcache.h (make_cleanup_regcache_xfree): Declare.
(vax-tdep.o): Use $(vax_tdep_h).
* vax-tdep.c (vax_gdbarch_init): Use generic OS ABI framework.
(vax_dump_tdep): New function.
(_initialize_vax_tdep): Register vax_dump_tdep.
* vax-tdep.h: Include osabi.h.
(struct gdbarch_tdep): New.
regcache'''.
(xmalloc_inferior_status): Delete function.
(free_inferior_status): Delete function.
(normal_stop): Use regcache_cpy.
(struct inferior_status): Change type of fields ``stop_registers''
and ``registers'' to ``struct regcache''.
(write_inferior_status_register): Use regcache_write.
(save_inferior_status): Instead of calling
xmalloc_inferior_status, allocate the inf_status buffer directly.
Use regcache_dup_no_passthrough and regcache_dup to save the
buffers.
(restore_inferior_status): Use regcache_xfree and regcache_cpy.
Replace the stop_registers regcache instead of overriding it. Use
regcache_xfree. Instead of calling free_inferior_status, xfree
the buffer directly.
(discard_inferior_status): Use regcache_xfree. Instead of calling
free_inferior_status, xfree the buffer directly.
(build_infrun): Use regcache_xmalloc.
(_initialize_infrun): Delete redundant call to build_infrun.
* Makefile.in (infcmd.o): Add $(regcache_h).
* infcmd.c: Include "regcache.h".
(run_stack_dummy): Use deprecated_grub_regcache_for_registers to
obtain the address of `stop_registers' register buffer.
(print_return_value): Ditto.
* inferior.h (struct regcache): Add opaque declaration.
(stop_registers): Change variable's declared type to ``struct
regcache''.
From Stan Shebs, Jim Blandy, Mark Salter, Kevin Buettner:
* config/frv/frv.mt: New file.
* config/frv/tm-frv.h: New file.
* configure.tgt: Support frv-*-*.
* Makefile.in (frv-tdep.o): New target.
* frv-tdep.c: New file.
* NEWS: Mention frv.
* sparc-tdep.c: Include osabi.h.
(gdbarch_tdep): Add osabi member.
(_initialize_sparc_tdep): Use gdbarch_register.
(sparc_gdbarch_init): Use generic OS ABI framework.
(sparc_dump_tdep): New function.
* Makefile.in (sim_regno_h): Define.
(d10v-tdep.o, remote-sim.o): Add dependency on $(sim_regno_h).
* remote-sim.c: Include "sim-regno.h" and "gdb_assert.h".
(legacy_register_sim_regno): New function.
(one2one_register_sim_regno): New function.
(gdbsim_fetch_register): Rewrite.
(gdbsim_store_register): Only store a register when
REGISTER_SIM_REGNO is valid.
* d10v-tdep.c: Include "sim-regno.h".
(d10v_ts2_register_sim_regno): Add legacy_regiter_sim_regno check.
(d10v_ts3_register_sim_regno): Ditto.
* gdbarch.sh: Include "sim-regno.h".
(REGISTER_SIM_REGNO): Set default to legacy_register_sim_regno.
* gdbarch.h, gdbarch.c: Regenerate.
* arch-utils.h (default_register_sim_regno): Delete declaration.
* arch-utils.c (default_register_sim_regno): Delete function.
* sim-d10v.h: New file. Moved from include/sim-d10v.h.
* Makefile.in (INCLUDE): Add "gdb/sim-d10v.h".
* interp.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* d10v-tdep.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* Makefile.in (sim_d10v_h): Update definition.
(COMMON_OBS): Add osabi.o.
(osabi.o): New dependency list.
* osabi.c: New file.
* osabi.h: New file.
* doc/gdbint.texinfo: Document new generic OS ABI framework.
* Makefile.in (alpha_tdep_h): Define and use instead of
alpha-tdep.h.
* alpha-tdep.c (alpha_abi_names, process_note_abi_tag_sections,
get_elfosabi, alpha_abi_handler_list, alpha_gdbarch_register_os_abi):
Remove.
(alpha_gdbarch_init, alpha_dump_tdep): Use generic OS ABI framework.
* alpha-tdep.h: Include osabi.h.
(alpha_abi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Use
gdbarch_register_osabi.
* alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise.
* alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise.
* alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise.
* Makefile.in (sh_tdep_h): Add osabi.h.
* sh-tdep.h (sh_osabi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* sh-tdep.c (sh_osabi_names, process_note_abi_tag_sections,
sh_osabi_handler_list, sh_gdbarch_register_os_abi): Remove.
(sh_gdbarch_init, sh_dump_tdep): Use generic OS ABI framework.
* shnbsd-tdep.c (_initialize_shnbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (arm_tdep_h): Define and use instead of arm-tdep.h.
* arm-linux-tdep.c (_initialize_arm_linux_tdep): Use
gdbarch_register_osabi.
* arm-tdep.c (arm_abi_names, process_note_abi_tag_sections,
arm_abi_handler_list, arm_gdbarch_register_os_abi): Remove.
(get_elfosabi): Rename to...
(arm_elf_osabi_sniffer): ...this. Adjust to use generic OS
ABI framework support routines.
(arm_gdbarch_init): Use generic OS ABI framework.
(arm_dump_tdep): Likewise.
(_initialize_arm_tdep): Likewise.
* arm-tdep.h: Include osabi.h.
(arm_abi): Remove.
(gdbarch_tdep): Remove arm_abi and abi_name members. Add
osabi member.
(arm_gdbarch_register_os_abi): Remove prototype.
* armnbsd-tdep.c (arm_netbsd_aout_osabi_sniffer): New function.
(_initialize_arm_netbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (mips-tdep.o): Add osabi.h to dependency list.
* mips-tdep.c: Include osabi.h.
(gdbarch_tdep, mips_gdbarch_init, mips_dump_tdep): Use generic
OS ABI framework.
* c-lang.h: #include "macroexp.h", for macro_lookup_ftype.
(scan_macro_expansion, scanning_macro_expansion,
finished_macro_expansion): New function declarations.
(expression_macro_lookup_func, expression_macro_lookup_baton): New
variable declarations.
* parser-defs.h (expression_context_pc): New declaration.
* parse.c (expression_context_pc): New variable.
(parse_exp_1): Set expression_context_pc, as well as
expression_context_block.
* c-exp.y (yylex): If we're not already reading the result of a
macro expansion, try to macro-expand the next token. When we're
done scanning a macro expansion, switch back to the mainline text.
Commas and `if's in a macro's expansion don't terminate the input.
* c-lang.c: #include "macroscope.h" and "gdb_assert.h".
(macro_original_text, macro_expanded_text,
expression_macro_lookup_func, expression_macro_lookup_baton): New
variables.
(scan_macro_expansion, scanning_macro_expansion,
finished_macro_expansion, scan_macro_cleanup, null_macro_lookup,
c_preprocess_and_parse): New functions.
(c_language_defn, cplus_language_defn, asm_language_defn): Call
c_preprocess_and_parse, instead of c_parse.
* Makefile.in (c_lang_h): Note that this #includes macroexp.h.
(c-lang.o): Note dependency on macroscope.h and gdb_assert.h.
* dwarf2read.c: #include "macrotab.h".
(dwarf_macinfo_buffer): New variable.
(struct dwarf2_pinfo): New members: dwarf_macinfo_buffer, and
dwarf_macinfo_size.
(DWARF_MACINFO_BUFFER, DWARF_MACINFO_SIZE): New macros.
(dwarf2_missing_macinfo_section, dwarf2_macros_too_long,
dwarf2_macros_not_terminated, dwarf2_macro_outside_file,
dwarf2_macro_unmatched_end_file, dwarf2_macro_malformed_definition,
dwarf2_macro_spaces_in_definition): New complaints.
(dwarf2_has_info): Initialize dwarf_macinfo_offset.
(dwarf2_build_psymtabs): Read the .dwarf_macinfo section.
(dwarf2_build_psymtabs_hard): Record the buffer and its size in
the partial symbol table.
(psymtab_to_symtab_1): Set the macinfo buffer and size globals
from what's recorded in the partial symbol table.
(read_file_scope): If the compilation unit has a
`DW_AT_macro_info' attribute, read its macro information.
* Makefile.in (dwarf2read.o): Depend on macrotab.h.
in them yet.
* symtab.h (struct symtab): New member: `macro_table'.
* buildsym.h (pending_macros): New global variable.
* buildsym.c: #include "macrotab.h".
(buildsym_init): Initialize `pending_macros'.
(end_symtab): If we found macro information while reading a CU's
debugging info, do build a symtab structure for it. Make the
symtab point to the macro information, and clear the
`pending_macros' pointer which held it while we were reading the
debug info.
(really_free_pendings): Free any pending macro table.
* objfiles.h (struct objfile): New member: `macro_cache'.
* objfiles.c (allocate_objfile): Set allocate and free functions
for the macro cache's objstack.
(free_objfile): Empty the macro cache's obstack.
* symfile.c (reread_symbols): Empty the macro cache's obstack, and
set new allocate and free functions for it.
* solib-sunos.c (allocate_rt_common_objfile): Set allocate and
free functions for the macro cache's objstack. (Why is this
function building its own objfile?)
* symmisc.c (print_objfile_statistics): Print statistics on the
macro bcache.
* Makefile.in: Note that buildsym.o depends on macrotab.h.
Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
* Makefile.in: Update dependencies for valops.c.
* valops.c: Include "gdb_assert.h".
(typecmp): Skip THIS parameter to methods.
(find_method_list): Remove static_memfuncp argument,
update callers. Check for stub methods.
(find_value_oload_method_list): Don't set *static_memfuncp.
(find_overload_match): Don't check for stub methods. Assert
that methods are not stubbed. Handle static methods.
(value_find_oload_method_list): Remove static_memfuncp argument.
* gdbtypes.c (check_stub_method): Do not add THIS pointer
to the argument list for static stub methods.
* value.h (value_find_oload_method_list): Update prototype.
(alphabsd-nat.o): Depend on alphabsd-tdep.h.
(alphanbsd-nat.o): Likewise.
(alphabsd-tdep.o): New dependency list.
* alphabsd-nat.c (supply_gregset): Use alphabsd_supply_reg.
(fill_gregset): Use alphabsd_fill_reg.
(supply_fpregset): Use alphabsd_supply_fpreg.
(fill_fpregset): Use alphabsd_fill_fpreg.
(fetch_inferior_registers): Use struct reg and struct fpreg
rather than gregset_t and fpregset_t. Use alphabsd_supply_reg
and alphabsd_supply_fpreg.
(store_inferior_registers): Use struct reg and struct fpreg
rather than gregset_t and fpregset_t. Use alphabsd_fill_reg
and alphabsd_fill_fpreg.
* alphabsd-tdep.c: New file.
* alphabsd-tdep.h: New file.
* alphanbsd-nat.c (fetch_core_registers): Use alphabsd_supply_fpreg.
(fetch_elfcore_registers): Use alphabsd_supply_reg and
alphabsd_supply_fpreg.
* config/alpha/fbsd.mt (TDEPFILES): Add alphabsd-tdep.o.
* config/alpha/nbsd.mt (TDEPFILES): Likewise.
and vax-tdep.h.
* vax-tdep.h: New file.
* vax-tdep.c: Include inferior.h, arch-utils.h, and vax-tdep.h.
Make several routines static.
(vax_get_saved_register): New function.
(vax_gdbarch_init): New function.
(_initialize_vax_tdep): Register vax_gdbarch_init.
* config/vax/tm-vax.h: Set GDB_MULTI_ARCH to GDB_MULTI_ARCH_PARTIAL.
Remove macros now under the control of gdbarch.
* sparc-tdep.h: New file.
* sparc-tdep.c (elf-bfd.h): Include.
(SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REGNUM,
SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET, gdbarch_tdep,
CALL_DUMMY_CALL_OFFSET): Move out to sparc-tdep.h
(sparc_dump_tdep): New function.
(_initialize_sparc_tdep): Use gdbarch_register instead of
register_gdbarch_init which is deprecated.
(process_note_abi_tag_sections, sparc_abi_handler,
sparc_abi_handler_list, sparc_gdbarch_register_os_abi): New.
(sparc_gdbarch_init): Determine elf os ident key based upon
either the elf header or by using process_note_abi_tag_sections.
Fix 'gdbarch already exists' test by comparing os_ident as well.
As the last action, invoke OS abi_handler if installed.
taken from...
* config/alpha/tm-alpha.h: ...here. Remove macros that we now
let gdbarch deal with.
(GDB_MULTI_ARCH): Define as GDB_MULTI_ARCH_PARTIAL.
* Makefile.in (alpha-nat.o): Add alpha-tdep.h and $(BFD_SRC)/elf-bfd
to dependency list.
* alpha-nat.c: Include alpha-tdep.h. Update for adjusted
Alpha target register names.
* alphabsd-nat.c: Likewise.
* alpha-tdep.c: Include alpha-tdep.h. Update for adjusted
Alpha target register names. Make serveral routines static.
(alpha_get_saved_register): New function.
(alpha_abi_names): New.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(alpha_gdbarch_init): New function.
(alpha_dump_tdep): New function.
(_initialize_alpha_tdep): Register alpha_gdbarch_init.
Andrew Cagney <cagney@redhat.com>
* cli/cli-dump.c: New file. Dump memory to file,
restore file to memory.
* cli/cli-dump.h: New file.
* Makefile.in: Add rules, dependencies for cli-dump.o.
2002-03-10 Daniel Jacobowitz <drow@mvista.com>
* Makefile.in (defs_h): Add $(INCLUDE_DIR)/gdb/signals.h.
* defs.h: Include "gdb/signals.h".
(enum target_signal): Move to $(INCLUDE_DIR)/gdb/signals.h.
include/gdb:
2002-03-10 Daniel Jacobowitz <drow@mvista.com>
* signals.h: New file, split from gdb/defs.h.
if it already matches the current architecture from the exec file.
Include arch-utils.h for gdbarch_info_init prototype.
* Makefile.in (rs6000-nat.o): Update dependencies.
* armnbsd-nat.c (supply_gregset): New function. Common code to
supply the integer register set.
(supply_fparegset): New function. Similar for FPA registers.
(fetch_regs, fetch_fp_regs): Use them.
(fetch_core_registers): Likewise.
(fetch_elfcore_registers): New function.
(arm_netbsd_elfcore_fns): New core-file type specification.
(_initialize_arm_netbsd_nat): Register it.
(struct gdbarch_tdep): New structure.
(LOWEST_PC): Provide a default.
(arm_gdbarch_register_os_abi): Declare new function.
* arm-tdep.c (arm_abi_names): New array.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(arm_gdbarch_register_os_abi): New function.
(arm_gdbarch_init): Try to determine the ABI of the inferior. If
support for that ABI has been built in, then call the appropriate
configuration routine. Use gdbarch_num_regs() to get the number
of registers.
(arm_dump_tdep): New function.
(arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New
place-holder functions.
(_initialize_arm_tdep): Register them.
* config/arm/tm-arm.h (LOWEST_PC): Delete.
* armnbsd-tdep.c: New file.
* Makefile.in (armnbsd-tdep.o): Add dependencies.
* config/arm/nbsd.mt (TDEPFILES): Add it.
* config/arm/tm-nbsd.h (LOWEST_PC): Delete.
* armnbsd-nat.c: Include regcache.h.
* Makefile.in (armnbsd-nat.o): Update dependency list.
* arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message.
From Richard Earnshaw <rearnsha@arm.com>:
* config/arm/nbsd.mh, config/arm/nbsd.mt, config/arm/tm-nbsd.h,
config/arm/nm-nbsd.h, config/arm/xm-nbsd.h: New files.
* armbsd-nat.c: New file.
* Makefile.in: Build it.
* configure.host, configure.tgt: Support NetBSD/arm.
and sparc-linux-nat.c to ALLDEPFILES. Add dependencies.
* config/sparc/linux.mh: Add sparc-linux-nat.o to NATDEPFILES.
* sparc-linux-nat.c: New file, from Mark Kettenis.
* dbxread.c (set_namestring): New function, replacing the
SET_NAMESTRING macro.
(SET_NAMESTRING, CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE,
CUR_SYMBOL_STRX, DBXREAD_ONLY, START_PSYMTAB, END_PSYMTAB): Delete
definitions.
(read_dbx_symtab): Don't include partial-stab.h any more. Don't
reuse code in partial-stab.h, include the code directly, instead.
* Makefile.in (dbxread.o): Remove dependency on partial-stab.h.
(HFILES_NO_SRCDIR): Remove partial-stab.h.
2001-11-06 Elena Zannoni <ezannoni@redhat.com>
* mdebugread.c (CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB,
END_PSYMTAB, SET_NAMESTRING, HANDLE_RBRAC): Delete definitions.
(parse_partial_symbols): Don't include partial-stab.h any
more. Don't reuse code in partial-stab.h, include the code
directly, instead. Simplify code from partial-stab.h eliminating
ifdef DBXREAD_ONLY code.
* Makefile.in (mdebugread.o): Remove dependency on partial-stab.h.
* xcoffread.c (N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, N_COMM, N_FN,
N_EXT, N_INDR, N_SETA, N_SETT, N_SETD, N_SETB, N_SETV,
CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB, END_PSYMTAB,
SET_NAMESTRING): Delete definitions.
Don't include language.h any more.
Don't include partial-stab.h any more.
(scan_xcoff_symtab): Don't jump through hoops to reuse code in
partial-stab.h, include the code directly, instead.
* Makefile.in (xcoffread.o): Remove dependency on partial-stab.h.
* rom68k-rom.c: #include "value.h".
(is_hex_digit, hex_digit_value, is_whitespace,
rom68k_supply_one_register): New static functions.
(rom68k_supply_register): Call rom68k_supply_one_register, instead
of monitor_supply_register; the latter was incorrectly parsing
the values.
* Makefile.in (rom68k-rom.o): Note that this now #includes value.h.
give us the absolute path to the source directory.
* configure: Regenerated.
* Makefile.in (GDBTK_SRC_DIR): Add variable so that
autoconf can substitue it in for us.
(gdbtk.o): Pass in GDBTK_SRC_DIR instead of srcdir. We
really do need an absolute pathname.
(GDBTK_LIBRARY): New variable to point to location where
gdbtk will install its tcl library. Changed all refereneces
to $(datadir)/insight1.0 to $(GDBTK_LIBRARY).
(SUBDIR_GDBTK_ALL): Remove "all-gdbtk". No longer needed.
(SUBDIR_GDBTK_CLEAN): Remove "clean-gdbtk". No longer needed.
(all-gdbtk): Remove.
(install-gdbtk): Remove.
(gdbtk.o): Pass srcdir to file when compiling.
Also from Ian Roxborough:
* Makefile.in: Changed all references to the install directory
"gdbtcl" to read "insight1.0".
(parser_defs_h, dis_asm_h, annotate_h, gdbthread_h): Define.
Replace parser-defs.h with $(parser_defs_h). Replace $(dis-asm_h)
and $(dis-asm.h) with $(dis_asm_h). Replace annotate.h with
$(annotate_h). Replace target.h with $(target_h). Replace
gdbthread.h with $(gdb_thread_h). Replace symfile.h with $(symfile_h).
* remote-e7000.c (fetch_regs_from_dump): If register set is null,
generate an internal error.
(e7000_fetch_registers): Initialize variable 'wanted'.
(e7000_wait): Initialize variable 'wanted_nopc'.
(e7000_store_register): Fix sprintf compiler warnings.
(sub2_from_pc): Ditto.
(e7000_open): Close the descriptor, not the name.
(e7000_load): Fix compiler warnings.
(sub2_from_pc): Ditto.
* Makefile.in (remote-e7000.o): Can now compile with -Werror.
include of "serial.h".
* Makefile.in (remote_utils_h): Update.
* monitor.h (struct serial): Declare as opaque. Remove include of
"serial.h".
(struct monitor_ops): Replace serial_t with `struct serial *'.
* monitor.c (monitor_desc): Ditto.
(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).
and gdbtk-stack.o.
(SUBDIR_GDBTK_SRCS): Ditto for the sources.
(gdbtk-bp.o): New rule.
(gdbtk-register.o): New rule.
(gdbtk-stack.o): New rule.
(gdbtk-cmds.o): Update dependencies.
(gdbtk.o): Ditto.
(gdbtk-hooks.o): Ditto.
(gdbtk-varobj.o): Ditto.
Abstract out operations specific to particular C++ ABI's, and
invoke them through a function table. This removes the C++ ABI
dependencies scattered throughout the code, and allows us to
cleanly add support for new C++ ABI's.
* cp-abi.h, cp-abi.h, gnu-v2-abi.c, hpacc-abi.c: New files.
* c-typeprint.c, c-valprint.c, dbxread.c, eval.c, gdbtypes.c,
jv-typeprint.c, linespec.c, symtab.c, typeprint.c, valops.c:
#include "cp-abi.h". These files all use functions now declared
there.
* symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P):
Deleted. These services are now provided by functions declared in
cp-abi.h.
* value.h (value_rtti_type, value_virtual_fn_field): Same.
* values.c (value_virtual_fn_field): Same, for this definition.
* valops.c (value_rtti_type): Same.
* c-typeprint.c (c_type_print_base): Use the functions from
"cp-abi.h", instead of the old macros, or hard-coded ABI-specific
tests.
* dbxread.c (record_minimal_symbol): Same.
* gdbtypes.c (get_destructor_fn_field, virtual_base_index,
virtual_base_index_skip_primaries): Same.
* jv-typeprint.c (java_type_print_base): Same.
* linespec.c (find_methods, decode_line_1): Same.
* symtab.c (gdb_mangle_name): Same.
* Makefile.in (SFILES): Add the new .c files mentioned above.
(cp_abi_h): New variable.
(COMMON_OBS): Add gnu-v2-abi.o, hpacc-abi.o, and cp-abi.o.
(cp-abi.o, gnu-v2-abi.o, hpacc-abi.o): New targets.
(c-typeprint.o, c-valprint.o, dbxread.o, eval.o, gdbtypes.o,
jv-typeprint.o, symtab.o, linespec.o, typeprint.o, valops.o): Add
dependency on $(cp_abi_h).