* symtab.c (symbol_set_names): Rename 'name' arg to
'linkage_name', and 'tmpname' variable to 'linkage_name_copy'.
* symtab.h: Change 'name' argument in declaration of
symbol_set_names to 'linkage_name'.
(SYMBOL_SET_NAMES): Change 'name' argument to 'linkage_name'.
* mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE,
return the fully sign-extended register value.
(get_frame_pointer): Ditto.
(mips_pop_frame): Initialize "proc_desc" after checking for a
dummy frame.
2003-04-10 Jim Blandy <jimb@redhat.com>
* symmisc.c: #include "gdb_regex.h".
(maintenance_list_symtabs, maintenance_list_psymtabs): New
functions.
* maint.c (maintenance_list_command): New function.
(_initialize_maint_cmds): Register the above as commands.
* symtab.h (maintenance_list_symtabs,
maintenance_list_psymtabs): New declarations.
* cli/cli-cmds.c (maintenancelistlist): New variable.
(init_cmd_lists): Initialize it.
* cli/cli-cmds.h (maintenancelistlist): New declaration.
* gdbcmd.h (maintenancelistlist): New declaration.
* Makefile.in (symmisc.o): Update dependencies.
gdb/doc/ChangeLog:
2003-04-09 Jim Blandy <jimb@redhat.com>
* gdb.texinfo (Symbols): Document 'maint list symtabs' and 'maint
list psymtabs'.
* frame.h: Mention what replaced what in "struct frame_info".
* hppa-hpux-tdep.c: Use get_frame_base, get_frame_pc and
deprecated_update_frame_base_hack and
deprecated_update_frame_pc_hack.
* hppa-tdep.c: Ditto.
to read_reg and update its comment. Remove regnum member.
* dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval.
Don't call read_reg when setting in_reg. Call read_reg to get
the frame base if it's in a register. Return the register number
on the stack instead of in the context. Remove extra arguments
to read_reg.
* dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments.
(dwarf2_evaluate_loc_desc): Call value_from_register. Expect
the register number on the expression stack.
(needs_frame_read_reg): Remove extra arguments.
* dwarf2expr.c (dwarf2_read_address): Renamed from read_address;
made non-static.
(execute_stack_op): All callers updated.
* dwarf2expr.h: Add prototype for dwarf2_read_address.
* dwarf2loc.c (find_location_expression): New function.
(dwarf_expr_frame_base): Call it.
(dwarf2_evaluate_loc_desc): Handle 0-length location expressions.
(dwarf2_tracepoint_var_ref): New function, broken out from
locexpr_tracepoint_var_ref.
(locexpr_tracepoint_var_ref): Call dwarf2_tracepoint_var_ref.
Make static.
(loclist_read_variable, loclist_read_needs_frame): New functions.
(loclist_describe_location, loclist_tracepoint_var_ref): New
functions.
(dwarf2_loclist_funcs): New struct location_funcs.
* dwarf2loc.h (struct dwarf2_loclist_baton): New type.
(struct dwarf2_locexpr_baton): Add comments.
(dwarf2_loclist_funcs): New extern.
* dwarf2read.c (struct comp_unit_head): Remove DIE member, add
base_address and base_known.
(dwarf_loc_buffer): New variable.
(struct dwarf2_pinfo): Add dwarf_loc_buffer and dwarf_loc_size.
(DWARF_LOC_BUFFER, DWARF_LOC_SIZE): New macros.
(dwarf2_has_info): Initialize dwarf_loc_offset.
(dwarf2_build_psymtabs): Read in .debug_loc.
(dwarf2_build_psymtabs_hard): Use DWARF_LOC_BUFFER and
DWARF_LOC_SIZE.
(psymtab_to_symtab_1): Likewise. Move base address calculation
here, from...
(dwarf2_get_pc_bounds): ... here. Use the base address from
cu_header.
(dwarf2_symbol_mark_computed): Handle location lists.
* frame.c (get_frame_id): Return this frame's "id".
(legacy_get_prev_frame): Set prev's frame ID code_addr to the
function start.
(legacy_saved_regs_this_id): Replace function body with
internal-error.
(deprecated_frame_xmalloc): Mark the frame ID as valid, use
FRAME_OBSTACK_ZALLOC.
(create_new_frame): Mark the frame ID as valid.
gdb.c++/userdef.cc: Place comments on the lines to which the
marker function might return.
* gdb.c++/derivation.exp, gdb.c++/overload.exp,
gdb.c++/userdef.exp: Look for those comments to check that we've
returned to the right place, instead of checking line numbers.
* d10v-tdep.c (d10v_frame_this_id): Set the code addr to the
frame's function's address. Simplify.
(d10v_frame_unwind_cache): Check that the frame's function is
non-zero.
* frame.h (struct frame_info): Delete field "pc". Replace
"pc_unwind_cache" and "pc_unwind_cache_p" with "prev_pc"
structure.
* frame.c (frame_pc_unwind): Update.
(create_sentinel_frame): Do not set "pc".
(get_prev_frame): Do not set "pc". Use frame_pc_unwind.
(get_frame_pc): Call frame_pc_unwind.
(deprecated_update_frame_pc_hack): Update.
(create_new_frame): Use "pc" not "->pc".
* gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate.
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (d10v_saved_pc_after_call): Delete function.
(d10v_gdbarch_init): Do not set saved_pc_after_call.
* infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P
conditionally, use frame_pc_unwind as an alternative. Add
comments.
* arch-utils.c (init_frame_pc_default): Only call
SAVED_PC_AFTER_CALL when available.