Pedro Alves <pedro@codesourcery.com>
* dwarf2read.c: Include "c-lang.h" and "valprint.h".
(struct dwarf2_per_objfile) <reading_partial_symbols>: New field.
(struct partial_die_info) <has_template_arguments>: New field.
<num_attrs>: Change type to unsigned char.
<building_fullname>: New field.
(dwarf2_build_psymtabs_hard): Set reading_partial_symbols. Only
allocate a CU if we don't have one already. Add a cleanup for the
CU.
(partial_die_full_name): Handle template arguments not in
DW_AT_name.
(dwarf2_psymtab_to_symtab): Clear reading_partial_symbols.
(load_full_comp_unit): Only allocate a CU if we don't have one
already.
(do_ui_file_peek_last): New.
(dwarf2_compute_name): Handle template parameters not in
DW_AT_name.
(read_comp_unit): Read and free abbrevs if not read yet.
(load_partial_dies): Handle template arguments not in DW_AT_name.
(find_partial_die): If we have a CU, but no a partial dies yet,
also read in the CU.
(dwarf2_const_value_attr): New, abstracted out from
dwarf2_const_value.
(dwarf2_const_value, dwarf2_const_value_data): Adjust to use
dwarf2_const_value_attr.
(determine_prefix): Detect and break loops created by RCVT's debug
info.
(maybe_queue_comp_unit): Bail out early if reading partial
symbols.
(follow_die_offset): Load full CU if we have no dies.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Make public.
* dwarf2loc.h (dwarf2_evaluate_loc_desc): Declare.
Code cleanup.
* frame-unwind.c (frame_unwind_find_by_frame): Remove the return type
and returned value. New comment from frame-unwind.h.
* frame-unwind.h (frame_unwind_find_by_frame): Remove the return type.
Extend the comment.
* frame.c (get_frame_id, frame_unwind_register_value)
(create_new_frame, get_prev_frame_1, frame_unwinder_is)
(get_frame_type, frame_unwind_arch): Do not use the return value of
frame_unwind_find_by_frame.
`target_has_execution' check with `to_has_memory' check.
(gdbsim_has_all_memory, gdbsim_has_memory): New functions.
(init_gdbsym_ops): Initialize relevant fields of `gdbsim_ops'
with `gdbsim_has_all_memory' and `gdbsim_has_memory'.
(resume_siggnal, resume_step): Move these static globals...
(struct sim_inferior_data): ...into this new struct.
(sim_inferior_data_key, next_pid, sim_argv, gdbsim_is_open):
New static globals.
(gdb_callback, callbacks_initialized): Move these globals to
a point earlier in the file.
(check_for_duplicate_sim_descriptor, get_sim_inferior_data)
(get_sim_inferior_data_by_ptid, sim_inferior_data_cleanup)
(gdbsim_close_inferior, gdbsim_resume_inferior)
(gdbsim_stop_inferior): New functions.
(SIM_INSTANCE_NOT_NEEDED, SIM_INSTANCE_NEEDED, INITIAL_PID):
New constants.
(gdbsim_fetch_register, gdbsim_store_register, gdbsim_load)
(gdbsim_create_inferior, gdbsim_open, gdbsim_close, gdbsim_resume)
(gdbsim_stop, gdbsim_cntrl_c, gdbsim_wait)
(gdbsim_xfer_inferior_memory, gdbsim_files_info)
(gdbsim_mourn_inferior, simulator_command, gdbsim_thread_alive,
(gdbsim_pid_to_str): Invoke `get_sim_inferior_data' to set
new local variable `sim_data' in each of these functions. Use
`sim_data' to reference former globals `program_loaded',
`gdbsim_desc', `remote_sim_ptid', `resume_siggnal', and
`resume_step'.
(gdbsim_open): Remove local variable `argv'. Put results of call
to `gdb_buildargv' in `sim_argv' rather than in `argv'. Don't
make a cleanup for it. Free it though when a sim instance cannot
be obtained.
(gdbsim_close): Free sim_argv and null it out as appropriate.
Close sim instances in all inferiors.
(gdbsim_cntrl_c): Stop all inferiors.
(gdbsim_wait):
(_initialize_remote_sim): Initialize `sim_inferior_data_key'.
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com>
* dwarf2read.c (new_symbol): Add symbol to variable list at end of
function after symbol construction is complete.
Do the same for template symbol addition to template_symbols list.
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.c (symbol_get_demangled_name): Remove assertion and
return NULL when language_specific.cplus_specific is not initialized.
* stabsread.c (define_symbol): Set the name before calling
cp_scan_for_anonymous_namespaces.
(gdb_wants_all_stopped): Delete.
(linux_wait_1): Don't call them.
* server.c (handle_v_cont): Tag all threads as want-stopped.
(gdb_wants_thread_stopped): Fix comments. Tag the thread that
stopped as "client-wants-stopped".
Throughout, call read_encoded_value with ptr_size rather than addr_size.
(decode_frame_entry_1): Remove redundant setting of
addr_size. Call gdbarch_dwarf2_addr_size rather than gdbarch_ptr_bit
to determine addr_size in Dwarf versions < 4. Set ptr_size dependent
on examined frame section. Add comment to explain why.
* gdbarch.sh (dwarf2_addr_size): Define as variable. Add lengthy
comment to explain usage.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Set dwarf2_addr_size to 4.
* linux-thread-db.c (libthread_db_debug): New variable.
(thread_db_find_new_threads_silently): Control verbosity with it.
(try_thread_db_load_1, try_thread_db_load): Likewise.
(find_new_threads_once): Likewise.
(_initialize_thread_db): Set/show it.
doc/ChangeLog
2010-07-31 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.texinfo (Threads): Document 'debug libthread-db'.