Daniel Jacobowitz
edb3359dff
gdb/
...
* NEWS: Document inlined function support.
* Makefile.in (SFILES): Add inline-frame.c.
(COMMON_OBS): Add inline-frame.o.
* block.c (contained_in): Rewrite to use lexical nesting.
(block_linkage_function): Skip inlined function blocks.
(block_inlined_p): New.
* block.h (struct block): Update comment.
(block_inlined_p): New prototype.
* blockframe.c (get_frame_block): Handle inlined functions.
(get_frame_function): Do not use block_linkage_function.
(block_innermost_frame): Use get_frame_block and contained_in.
* breakpoint.c (watchpoint_check): Remove extra reinit_frame_cache.
Skip over inlined functions. Simplify epilogue check.
(bpstat_check_breakpoint_conditions): Use get_stack_frame_id.
Update comments.
(set_momentary_breakpoint): Only accept non-inlined frames.
(watch_command_1): Use frame_unwind_caller_pc and
frame_unwind_caller_id instead of get_prev_frame.
(until_break_command): Likewise. Use get_stack_frame_id.
* buildsym.c (end_symtab): Set SYMBOL_SYMTAB for block functions.
* dwarf2loc.c (dwarf_expr_frame_base): Use block_linkage_function.
* dwarf2read.c (process_die): Handle DW_TAG_inlined_subroutine.
(read_func_scope, new_symbol): Likewise. Handle arguments specially
for inlined functions without call site information.
(inherit_abstract_dies): Allow tag mismatch for inlined subroutines.
(die_specification): Treat DW_AT_abstract_origin as a specification.
(read_type_die): Handle DW_TAG_inlined_subroutine.
* frame-unwind.c (frame_unwind_init): Add inline_frame_unwind.
* frame.c (fprint_frame_id): Print inline depth.
(fprint_frame_type): Handle INLINE_FRAME and SENTINEL_FRAME.
(skip_inlined_frames, get_stack_frame_id): New.
(frame_unwind_caller_id): Use skip_inlined_frames.
(frame_id_inlined_p): New.
(frame_id_eq): Make the logic match the comments. Add inline_depth
check.
(frame_id_inner): Handle inlined functions.
(frame_unwind_pc): New function, copied from frame_unwind_caller_pc.
(frame_unwind_caller_pc): Use skip_inlined_frames and frame_unwind_pc.
(get_prev_frame_1): Check for inline frames. Split out frame
allocation to get_prev_frame_raw.
(get_prev_frame_raw): New function.
(get_prev_frame): Handle inline frames.
(get_frame_pc): Use frame_unwind_pc.
(get_frame_address_in_block): Skip inlined frames on both sides.
(pc_notcurrent): Delete.
(find_frame_sal): Rewrite to handle inline call sites. Use
get_frame_address_in_block.
(deprecated_update_frame_pc_hack): Make static.
* frame.h: Update comments.
(struct frame_id): Add inline_depth.
(enum frame_type): Add INLINE_FRAME.
(frame_id_inlined_p, get_stack_frame_id): New prototypes.
* gdbthread.h (struct thread_info): Add step_stack_frame_id field.
* infcmd.c (set_step_frame): New function.
(step_once): Use set_step_frame. Handle inlined functions.
(until_next_command): Use set_step_frame.
(finish_backward), finish_forward): Use get_stack_frame_id.
(finish_command): Support inlined functions.
* inferior.h (set_step_info): New prototype.
* infrun.c (RESUME_ALL): Use minus_one_ptid.
(clear_proceed_status): Clear step_stack_frame_id.
(init_wait_for_inferior): Call clear_inline_frame_state.
(init_execution_control_state): Make static.
(set_step_info): New function.
(init_thread_stepping_state): Do not set the symtab or line here.
(stepped_in_from): New function.
(handle_inferior_event): Handle inlined functions. Use set_step_info.
(insert_step_resume_breakpoint_at_frame): Use get_stack_frame_id.
(struct inferior_status): Add step_stack_frame_id.
(save_inferior_status, restore_inferior_status): Save and restore
step_stack_frame_id.
* inline-frame.c, inline-frame.h: New files.
* minsyms.c (prim_record_minimal_symbol_and_info): Use XCALLOC.
* regcache.c (regcache_write_pc): Call reinit_frame_cache.
* s390-tdep.c (s390_prologue_frame_unwind_cache): Handle INLINE_FRAME.
* stack.c (frame_show_address): New.
(print_frame_info, print_frame): Use it.
(find_frame_funname): Use get_frame_function. Handle inlined blocks.
(frame_info): Mark inlined functions.
(backtrace_command_1): Use get_current_user_frame.
(print_frame_local_vars, print_frame_label_vars): Update comments.
(return_command): Refuse inlined functions.
* symtab.c (lookup_symbol_aux_local): Stop at inlined function
boundaries.
(find_function_start_sal): Avoid inlined functions.
(completion_list_add_fields): New function.
(default_make_symbol_completion_list): Use it. Use block_static_block
and block_global_block. Check for inlined functions.
(skip_prologue_using_sal): Avoid line number comparison across
inlining.
* symtab.h (struct symbol): Add is_inlined.
(SYMBOL_INLINED): New.
* target.c (target_resume): Call clear_inline_frame_state.
* valops.c (value_of_variable): Check block_inlined_p.
gdb/doc/
* gdb.texinfo (Debugging Optimized Code): New chapter.
(Compiling for Debugging): Reference it. Move some
text to the new section.
gdb/testsuite/
* gdb.base/break.exp: Add an XFAIL for gcc/36748.
* gdb.cp/annota2.exp: Accept frames-invalid in more places.
* gdb.opt/Makefile.in (EXECUTABLES): Update.
* gdb.opt/clobbered-registers-O2.exp: Update to GPL v3.
* gdb.opt/inline-bt.c, gdb.opt/inline-bt.exp,
gdb.opt/inline-cmds.c, gdb.opt/inline-cmds.exp,
gdb.opt/inline-locals.c, gdb.opt/inline-locals.exp,
gdb.opt/inline-markers.c: New files.
* lib/gdb.exp (skip_inline_frame_tests): New function.
(skip_inline_var_tests): New function.
2009-06-28 00:20:24 +00:00
Ulrich Weigand
505e835dc0
* ax-gdb.c (gen_bitfield_ref): Add EXP argument, use expression
...
architecture instead of current_gdbarch.
(gen_struct_ref): Add EXP argument, pass to get_bitfield_ref.
(gen_expr): Pass expression to get_struct_ref.
* symtab.h (struct symbol_ops): Add GDBARCH parameter to
tracepoint_var_ref callback.
* ax-gdb.c (gen_var_ref): Pass architecture to tracepoint_var_ref
symbol operation callback.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Add GDBARCH parameter.
Use it instead of current_gdbarch.
(locexpr_tracepoint_var_ref): Add GDBARCH parameter. Pass it to
dwarf2_tracepoint_var_ref.
(loclist_tracepoint_var_ref): Likewise.
2009-06-17 18:40:53 +00:00
Ulrich Weigand
768a979c31
* symtab.h: Rename SYMBOL_OPS to SYMBOL_COMPUTED_OPS.
...
* ax-gdb.c (gen_var_ref): Likewise.
* findvar.c (read_var_value, symbol_read_needs_frame): Likewise.
* printcmd.c (address_info): Likewise.
* dwarf2loc.c (dwarf_expr_frame_base): Likewise.
* dwarf2read.c (dwarf2_symbol_mark_computed): Likewise.
* symtab.h: Rename struct symbol_ops to struct symbol_computed_ops.
* dwarf2loc.h: Likewise.
* dwarf2loc.c (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Likewise.
* symtab.h: (struct symbol_register_ops): New struct definition.
(struct symbol): Make "ops" member a union of symbol_computed_ops and
symbol_register_ops callback pointers.
(SYMBOL_REGISTER_OPS): New macro.
* tracepoint.c: Include "objfiles.h".
(scope_info, collect_symbol): Use SYMBOL_REGISTER_OPS register_number
callback to retrieve register numbers.
* ax-gdb.c (gen_var_ref): Likewise.
* findvar.c (read_var_value): Likewise.
* printcmd.c (address_info): Likewise.
* coffread.c (coff_reg_to_regnum): New function.
(coff_register_funcs): New static variable.
(process_coff_symbol): Do not call gdbarch_sdb_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
* mdebugread.c (mdebug_reg_to_regnum): New function.
(mdebug_register_funcs): New static variable.
(parse_symbol): Do not call gdbarch_ecoff_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
* stabsread.c (stab_reg_to_regnum): New function.
(stab_register_funcs): New static variable.
(define_symbol): Do not call gdbarch_stab_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
2009-06-04 12:28:39 +00:00
Tom Tromey
42ae523077
2009-05-27 Tom Tromey <tromey@redhat.com>
...
Paul Pluzhnikov <ppluzhnikov@google.com>
* mi/mi-main.c (mi_cmd_data_evaluate_expression): Use
value_address.
* cli/cli-dump.c (dump_value_to_file): Use value_address.
* valprint.c (common_val_print): Likewise.
* v850-tdep.c (v850_push_dummy_call): Use value_address.
* tracepoint.c (encode_actions): Use value_address.
* printcmd.c (print_formatted): Use value_address.
(x_command): Likewise.
* p-valprint.c (pascal_object_print_static_field): Use
value_address.
* mn10300-tdep.c (mn10300_push_dummy_call): Use value_address.
* mips-tdep.c (mips_eabi_push_dummy_call): Use value_address.
* m32r-tdep.c (m32r_push_dummy_call): Use value_address.
* jv-valprint.c (java_value_print): Use value_address.
* infcall.c (find_function_addr): Use value_address.
* gnu-v3-abi.c (gnuv3_rtti_type): Use value_address.
* gnu-v2-abi.c (gnuv2_value_rtti_type): Use value_address.
* frv-tdep.c (frv_push_dummy_call): Use value_address.
* frame.c (frame_register_unwind): Use value_address.
(frame_unwind_register_value): Likewise.
* darwin-nat-info.c (info_mach_region_command): Use
value_address.
* cp-valprint.c (cp_print_static_field): Use value_address.
* c-valprint.c (c_value_print): Use value_address.
* breakpoint.c (update_watchpoint): Use value_address.
(can_use_hardware_watchpoint): Likewise.
* ada-valprint.c (ada_val_print_1): Use value_address.
(ada_value_print): Likewise.
* ada-tasks.c (read_fat_string_value): Use value_address.
* jv-lang.c (java_link_class_type): Use set_value_address.
(java_link_class_type): Likewise.
(get_java_utf8_name): Use value_address.
(type_from_class): Likewise.
(java_link_class_type): Likewise.
* findvar.c (value_of_register): Use set_value_address.
(read_var_value): Likewise.
(read_var_value): Likewise.
* eval.c (evaluate_subexp_standard): Use set_value_address.
(evaluate_subexp_standard): Use value_address.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Use set_value_address.
* ada-lang.c (coerce_unspec_val_to_type): Use set_value_address.
(ada_value_primitive_packed_val): Likewise.
(ensure_lval): Likewise.
(thin_data_pntr): Use value_address.
(desc_bounds): Likewise.
(ada_value_primitive_packed_val): Likewise.
(value_assign_to_component): Likewise.
(ensure_lval): Likewise.
(make_array_descriptor): Likewise.
(ada_to_fixed_value): Likewise.
(unwrap_value): Likewise.
* value.c (deprecated_value_address_hack): Remove.
(value_address): New function.
(value_raw_address): Likewise.
(set_value_address): Likewise.
(value_fn_field): Use set_value_address.
(value_from_contents_and_address): Likewise.
(value_fn_field): Likewise.
(allocate_value_lazy): Don't use VALUE_ADDRESS.
(value_as_address): Use value_address.
(value_static_field): Likewise.
* valops.c (search_struct_field): Use set_value_address.
(value_at): Likewise.
(value_at_lazy): Likewise.
(value_repeat): Likewise.
(value_cast_structs): Use value_address.
(value_cast): Likewise.
(value_fetch_lazy): Likewise.
(value_assign): Likewise.
(value_repeat): Likewise.
(address_of_variable): Likewise.
(value_coerce_array): Likewise.
(value_coerce_function): Likewise.
(value_addr): Likewise.
(search_struct_field): Likewise.
(search_struct_method): Likewise.
(find_method_list): Likewise.
(value_struct_elt_for_reference): Likewise.
(value_full_object): Likewise.
* jv-valprint.c (java_value_print): Use set_value_address.
* value.h (deprecated_value_address_hack): Remove.
(VALUE_ADDRESS): Remove.
(value_address): Declare.
(value_raw_address): Declare.
(set_value_address): Declare.
2009-05-28 00:53:52 +00:00
Ulrich Weigand
77a732d97f
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch
...
for NULL frame pointers.
2009-01-13 18:01:49 +00:00
Joel Brobecker
0fb0cc7590
Updated copyright notices for most files.
2009-01-03 05:58:08 +00:00
Ulrich Weigand
f7fd47281b
* dwarf2expr.h (dwarf2_read_address): Add gdbarch argument.
...
* dwarf2expr.c (dwarf2_read_address): Add gdbarch argument.
Call gdbarch_integer_to_address directly instead of converting
to value and back. Update comment.
(execute_stack_op): Update call site.
* dwarf2loc.c (find_location_expression): Likewise.
(locexpr_describe_location): Update
* dwarf2expr.h (struct dwarf_expr_context): Add gdbarch member.
* dwarf2-frame.c (execute_stack_op): Initialize ctx->gdbarch.
* dwarf2loc. (dwarf2_evaluate_loc_desc): Likewise.
(dwarf2_loc_desc_needs_frame): Likewise.
2008-09-05 11:40:53 +00:00
Jan Kratochvil
ebd3bcc132
* dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
...
SYMBOL_LOCATION_BATON.
2008-05-04 12:44:16 +00:00
Ulrich Weigand
5e2b427df3
* objfiles.h (struct objfile): New GDBARCH member.
...
(get_objfile_arch): Add prototype.
* objfiles.c: Include "arch-utils.h".
(allocate_objfile): Look up gdbarch associated with bfd.
(get_objfile_arch): New function.
* Makefile (objfiles.o): Update dependencies.
* dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
by objfile arch.
* dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
by frame arch.
(locexpr_describe_location): Replace current_gdbarch by
objfile arch.
* dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
(dwarf2_add_field): Likewise.
(read_tag_pointer_type): Likewise.
(read_base_type): Likewise.
(new_symbol): Likewise.
* coffread.c (decode_type): Add OBJFILE argument. Update callers.
(decode_base_type, decode_function_type): Likewise.
(coff_read_struct_type, coff_read_enum_type): Likewise.
(coff_symtab_read): Replace current_gdbarch by objfile arch.
(decode_base_type): Likewise.
(coff_read_enum_type): Likewise.
(coff_read_struct_type): Replace current_objfile by OBJFILE argument.
(coff_read_enum_type): Likewise.
* dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
(end_psymtab): Likewise.
(process_one_symbol): Likewise.
* mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
(parse_procedure): Likewise.
(parse_partial_symbols): Likewise.
* somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.
* stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
built-in types.
(read_range_type): Replace current_gdbarch by objfile arch. Replace
static range_index_type by built-in type.
(read_one_struct_field): Replace current_gdbarch by objfile arch.
(read_enum_type): Likewise.
* xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
objfile arch.
2008-03-26 14:53:28 +00:00
Ulrich Weigand
ae0d2f24fd
2008-03-18 Ulrich Weigand <uweigand@de.ibm.com>
...
Jim Blandy <jimb@codesourcery.com>
Daniel Jacobowitz <drow@false.org>
* dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member.
(dwarf2_read_address): Update prototype.
* dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter.
(signed_address_type): Likewise.
(dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE.
(execute_stack_op): Update calls to unsigned_address_type,
signed_address_type and dwarf2_read_address. Fix implementation
of DW_OP_deref_size.
* dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype.
(dwarf2_per_cu_addr_size): Likewise.
(struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU.
(struct dwarf2_loclist_baton): Likewise.
* dwarf2loc.c (find_location_expression): Update calls to
dwarf2_read_address. Use dwarf2_per_cu_objfile and
dwarf2_per_cu_addr_size to retrieve PER_CU parameters.
(locexpr_describe_location): Likewise.
(dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter.
Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu).
(dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size
to dwarf2_per_cu_addr_size (per_cu).
(locexpr_read_variable): Update dwarf2_evaluate_loc_desc call.
(loclist_read_variable): Likewise.
(locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call.
* dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu
instead of baton->objfile.
(dwarf2_per_cu_obfile): New function.
(dwarf2_per_cu_addr_size): Likewise.
* dwarf2-frame.c (struct comp_unit): Move higher.
(struct dwarf2_cie): Add UNIT and ADDR_SIZE members.
(execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size.
(execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P
parameter by using fde->eh_frame_p. Use read_encoded_value
to implement DW_CFA_set_loc.
(struct dwarf2_frame_cache): Add ADDR_SIZE member.
(dwarf2_frame_cache): Set cache->addr_size. Update calls to
execute_stack_op and execute_cfa_program.
(dwarf2_frame_prev_register): Update calls to execute_stack_op.
(size_of_encoded_value): Remove.
(read_encoded_value): Add PTR_LEN and FUNC_BASE parameters.
Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel.
(add_cie): Set cie->unit backlink.
(decode_frame_entry_1): Set cie->addr_size. Update calls to
read_encoded_value.
(dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
2008-03-18 19:40:47 +00:00
Daniel Jacobowitz
9b254dd1ce
Updated copyright notices for most files.
2008-01-01 22:53:26 +00:00
Ulrich Weigand
ad010def89
2007-10-08 Markus Deuling <deuling@de.ibm.com>
...
* dwarf2-frame.c (read_reg, execute_cfa_program, dwarf2_frame_cache)
(dwarf2_frame_default_init_reg, dwarf2_frame_prev_register): Replace
current_gdbarch by gdbarch.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Likewise.
2007-10-08 12:46:09 +00:00
Jerome Guitton
eff4f95e29
* dwarf2loc.c (dwarf_expr_frame_base): Guard against NULL.
...
* Makefile.in (dwarf2loc.o): Depend on gdb_assert.h.
2007-09-17 14:53:05 +00:00
Joel Brobecker
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
Ulrich Weigand
17a912b682
2007-06-13 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (TARGET_ADDR_BIT): Replace by gdbarch_addr_bit.
* valops.c (value_cast): Likewise.
* utils.c (strlen_paddr, paddr, paddr_nz, paddress): Likewise.
* ui-out.c (ui_out_field_core_addr): Likewise.
* tracepoint.c (tracepoints_info): Likewise.
* symtab.c (print_msymbol_info): Likewise.
* solib-irix.c (irix_current_sos)
(irix_open_symbol_file_object): Likewise.
* remote.c (build_remote_gdbarch_data): Likewise.
* prologue-value.c (make_pv_area): Likewise.
* procfs.c (info_mappings_callback): Likewise.
* printcmd.c (print_scalar_formatted)
(deprecated_print_address_numeric): Likewise.
* memattr.c (mem_info_command): Likewise.
* linux-nat.c (linux_nat_info_proc_cmd): Likewise.
* gdbtypes.c (build_flt, gdbtypes_post_init): Likewise.
* exec.c (print_section_info): Likewise.
* dwarf2read.c (read_subrange_type): Likewise.
* dwarf2loc.c (find_location_expression): Likewise.
* dwarf2expr.c (dwarf2_read_address, unsigned_address_type)
(signed_address_type, execute_stack_op): Likewise.
* breakpoint.c (print_one_breakpoint, breakpoint_1): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-13 17:59:51 +00:00
Ulrich Weigand
055d23b8ab
2007-06-12 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (STAB_REG_TO_REGNUM): Replace by
gdbarch_stab_reg_to_regnum.
* stabsread.c (define_symbol): Likewise.
* gdbarch.sh (ECOFF_REG_TO_REGNUM): Replace by
gdbarch_ecoff_reg_to_regnum.
* mdebugread.c (parse_symbol): Likewise.
* i386-tdep.c (i386_gdbarch_init): Likewise (comment).
* gdbarch.sh (DWARF_REG_TO_REGNUM): Replace by
gdbarch_dwarf_reg_to_regnum.
* gdbarch.sh (SDB_REG_TO_REGNUM): Replace by gdbarch_sdb_reg_to_regnum.
* coffread.c (process_coff_symbol): Likewise.
* gdbarch.sh (DWARF2_REG_TO_REGNUM): Replace by
gdbarch_dwarf2_reg_to_regnum.
* dwarf2loc.c (dwarf_expr_read_reg,dwarf2_evaluate_loc_desc)
(locexpr_describe_location): Likewise.
* dwarf2-frame.c (read_reg,execute_cfa_program,dwarf2_frame_cache)
(dwarf2_frame_prev_register,dwarf2_signal_frame_this_id): Likewise.
* dwarf2loc.c (DWARF2_REG_TO_REGNUM): Remove macro.
* dwarf2read.c (DWARF2_REG_TO_REGNUM): Remove macro.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-12 16:59:43 +00:00
Ulrich Weigand
c7bb205ca9
2007-06-12 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (TARGET_VIRTUAL_FRAME_POINTER): Replace by
gdbarch_virtual_frame_pointer.
* tracepoint.c (encode_actions): Likewise.
* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Likewise.
* ax-gdb.c (gen_frame_args_address, gen_frame_locals_address): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-12 16:43:39 +00:00
Ulrich Weigand
c9f4d5725d
2007-06-09 Markus Deuling <deuling@de.ibm.com>
...
* gdbarch.sh (REGISTER_NAME): Replace by gdbarch_register_name.
* tracepoint.c (scope_info): Likewise.
* target.c (debug_print_register): Likewise.
* stack.c (frame_info): Likewise.
* sh-tdep.c (sh_register_reggroup_p): Likewise.
* sh64-tdep.c (sh64_do_fp_register, sh64_do_register)
(sh64_media_print_registers_info)
(sh64_compact_print_registers_info): Likewise.
* rs6000-tdep.c (rs6000_register_reggroup_p): Likewise.
* remote-sim.c (gdbsim_fetch_register): Likewise.
* remote.c (packet_reg): Likewise (comment).
* reggroups.c (default_register_reggroup_p): Likewise.
* regcache.c (regcache_dump): Likewise.
* printcmd.c (address_info): Likewise.
* ppc-linux-nat.c (fetch_register, store_register): Likewise.
* mt-dep.c (mt_registers_info): Likewise.
* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Likewise (comment).
* mips-tdep.c (mips_register_reggroup_p, mips_read_fp_register_single)
(mips_read_fp_register_double, mips_print_fp_register)
(mips_print_register, print_gp_register_row, mips_print_registers_info)
(mips_register_sim_regno): Likewise.
* m68klinux-nat.c (regmap, fetch_register, store_register): Likewise.
* inf-ptrace.c (inf_ptrace_fetch_register)
(inf_ptrace_store_register): Likewise.
* infcmd.c (default_print_registers_info): Likewise.
* ia64-linux-nat.c (ia64_linux_fetch_register)
(ia64_linux_store_register): Likewise.
* i386-linux-nat.c (fetch_register, store_register): Likewise.
* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Likewise.
* hppa-linux-nat.c (fetch_register, store_register): Likewise.
* hppa-hpux-nat.c (hppa_hpux_fetch_register)
(hppa_hpux_store_register): Likewise.
* findvar.c (locate_var_value): Likewise.
* dwarf2loc.c (locexpr_describe_location): Likewise.
* dwarf2-frame.c (execute_cfa_program): Likewise.
* arm-tdep.c (arm_push_dummy_call): Likewise.
* arch-utils.c (legacy_register_sim_regno): Likewise.
* alpha-tdep.c (alpha_register_reggroup_p): Likewise.
* alpha-nat.c (fetch_osf_core_registers): Likewise.
* mi/mi-main.c (mi_cmd_data_list_register_names)
(mi_cmd_data_list_changed_registers, mi_cmd_data_list_register_values)
(mi_cmd_data_write_register_values): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.
2007-06-09 13:42:16 +00:00
Caroline Tice
42be36b328
Add ability to report when a variable's value is uninitialized,
...
based on information provided by the compiler. Also add new
DWARF OP, DW_OP_GNU_uninit, for this purpose.
2007-05-18 19:42:42 +00:00
Jim Blandy
10fb19b6ab
2007-01-24 Jim Blandy <jimb@codesourcery.com>
...
* dwarf2loc.c (dwarf2_evaluate_loc_desc): When the location
expression is empty, bother to return the 'optimized out' value we
construct. (Thanks to Carl Burch.)
2007-01-24 22:04:48 +00:00
Daniel Jacobowitz
6aba47ca06
Copyright updates for 2007.
2007-01-09 17:59:20 +00:00
Ulrich Weigand
0b2b0195d1
* findvar.c (address_from_register): New function.
...
* value.h (address_from_register): Add prototype.
* dwarf2loc.c (dwarf_expr_read_reg): Use address_from_register.
2006-11-22 13:44:45 +00:00
Jim Blandy
e5192dd81c
2006-11-06 Jim Blandy <jimb@codesourcery.com>
...
* (dwarf_expr_read_reg): Use frame_register_read, not frame_register.
* dwarf2loc.c (dwarf_expr_read_reg): Use frame_register_read
instead of frame_register. Doc fix.
2006-11-06 23:20:12 +00:00
Jim Blandy
4bc9efe119
2006-11-03 Jim Blandy <jimb@codesourcery.com>
...
* dwarf2loc.c (dwarf_expr_read_reg): Use frame_unwind_register
instead of frame_register. Doc fix.
2006-11-03 22:09:28 +00:00
Daniel Jacobowitz
9e35dae425
2006-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
...
Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (expprint.o, parse.o, target.o): Update.
* dwarf2loc.c (dwarf_expr_tls_address): Move body to
target_translate_tls_address. Call it.
* eval.c (evaluate_subexp_standard): Handle UNOP_MEMVAL_TLS.
* expprint.c (print_subexp_standard): Likewise.
(op_name_standard, dump_subexp_body_standard): Likewise.
* expression.h (enum exp_opcode): Add UNOP_MEMVAL_TLS.
(union exp_element): Add objfile.
* parse.c (write_exp_elt_objfile): New function.
(msym_tls_symbol_type): New.
(write_exp_msymbol): Handle TLS.
(operator_length_standard): Handle UNOP_MEMVAL_TLS.
(build_parse): Initialize msym_tls_symbol_type.
* parser-defs.h (write_exp_elt_objfile): New prototype.
* target.c (target_translate_tls_address): New.
* target.h (target_translate_tls_address): Add prototype.
2006-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.threads/tls-nodebug.c, gdb.threads/tls-nodebug.exp: New test.
2006-10-10 03:17:53 +00:00
Eli Zaretskii
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
Randolph Chung
9c23835799
2005-11-19 Randolph Chung <tausq@debian.org>
...
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Remove extra add for
DW_OP_fbreg. Handle DW_OP_breg0 through DW_OP_breg31. Print
DWARF opcode for unsupported case.
2005-11-19 13:43:35 +00:00
Jim Wilson
22c6cabacd
Fix gcc bug 24490, location list query failed due to out-of-range address.
...
PR 2024
* dwarf2loc.c (dwarf_expr_frame_base): Use get_frame_address_in_block
instead of get_frame_pc.
(loclist_read_variable): Likewise.
2005-11-14 22:25:16 +00:00
Elena Zannoni
23572ecadc
2005-11-03 Andrew Cagney <cagney@gnu.org>
...
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Handle DW_OP_piece
reads.
2005-11-04 02:42:34 +00:00
Mark Kettenis
852483bc79
* dwarf2expr.h: Tweak comment.
...
(struct dwarf_expr_context): Use `gdb_byte *' in read_mem and
get_frame_base function pointers.
(read_uleb128, read_sleb128): Change return type and types of
first two arguments to `gdb_byte *'.
(dwarf2_read_address): Change types of first two arguments to
`gdb_byte *'.
* dwarf2expr.c: Tweak comment.
(dwarf_expr_eval): Change type of second argument to `gdb_byte *'.
(read_uleb128, read_sleb128): Change return type and types of
first two arguments to `gdb_byte *'.
(dwarf2_read_address): Change types of first two arguments to
`gdb_byte *'.
(execute_stack_op): Change types of last two arguments to
`gdb_byte *'. Use `gdb_byte *' for byte buffers.
* dwarf2loc.h: Tweak comment.
(struct dwarf2_locexpr_baton, struct dwarf2_loclist_baton): Use
`gdb_byte *' for byte buffers.
* dwarf2loc.c (find_location_expression): Change return type to
`gdb_byte *'. Use `gdb_byte *' for byte buffers. Change length
to `unsigned int'.
(dwarf_expr_read_reg): Use `gdb_byte *' for byte buffer. Remove
bogus cast.
(dwarf_expr_read_mem): Change type of second argument to
`gdb_byte *'.
(dwarf_expr_frame_base): Change type of second argument to
`gdb_byte **'.
(dwarf2_evaluate_loc_desc): Change type of third argument to
`gdb_byte *'.
(needs_frame_read_mem): Change type of second argument to
`gdb_byte *'.
(needs_frame_frame_base): Change type of second argument
`gdb_byte **'. Use gdb_byte for lit0.
(dwarf2_tracepoint_var_ref): Change type of fourth argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffer.
(loclist_read_variable, loclist_tracepoint_var_ref): Use `gdb_byte
*' for byte buffer.
* dwarf2-frame.c (struct dwarf2_cie, struct dwarf2_fde)
(struct dwarf2_frame_state): Use gdb_byte instead of `unsigned
char'.
(read_reg): Use `gdb_byte *' for byte buffers. Remove redundant
cast.
(read_mem): Change second argument to `gdb_byte *'.
(no_get_frame_base): Change second argument to `gdb_byte **'.
(execute_stack_op): Change first argument to `gdb_byte *'.
(execute_cfa_program): Change first two arguments to `gdb_byte *'.
Use gdb_byte instead of `unsigned int'. Use temprorary variable
to store result of read_uleb128.
(struct comp_unit): Use `gdb_byte *' for byte buffers.
(read_1_byte, read_4_bytes, read_8_bytes): Change last argument to
`gdb_byte *'.
(read_unsigned_leb128, read_signed_leb128): Change second argument
to `gdb_byte *'. Use gdb_byte instead of `unsigned char'.
(read_initial_length): Change second argument to `gdb_byte *'.
Remove redundant casts.
(read_encoded_value): Use gdb_byte instead of `unsigned char'.
Remove bogus casts.
(decode_frame_entry_1): Change return type and second argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffers. Use gdb_byte
instead of `unsigned char'.
(decode_frame_entry): Change return type and second argument to
`gdb_byte *'. Use `gdb_byte *' for byte buffers.
(dwarf2_build_frame_info): Use `gdb_byte *' for byte buffers.
2005-07-12 13:06:54 +00:00
Andrew Cagney
109c3e397e
2005-04-26 Andrew Cagney <cagney@gnu.org>
...
* remote.c (remote_open_1): Move "ex"'s declaration to where it is
used.
(remote_get_thread_local_address): Use throw_error, include a
printed string.
* linux-thread-db.c (thread_db_get_thread_local_address): Ditto.
* dwarf2loc.c (dwarf_expr_tls_address): Ditto.
* cli/cli-script.c (script_from_file): Mark up throw_error message.
* linespec.c (symtab_from_filename, decode_variable): Ditto.
2005-04-26 14:57:22 +00:00
Andrew Cagney
71fff37b08
2005-04-26 Andrew Cagney <cagney@gnu.org>
...
Rename 'struct exception' to 'struct gdb_exception'.
* wrapper.c: Update.
* varobj.c: Update.
* tui/tui-interp.c: Update.
* remote.c: Update.
* mi/mi-main.c: Update.
* mi/mi-interp.c: Update.
* linux-thread-db.c: Update.
* interps.h: Update.
* interps.c: Update.
* exceptions.h: Update.
* exceptions.c: Update.
* dwarf2loc.c: Update.
* cli/cli-interp.c: Update.
* cli/cli-script.c: Update.
* breakpoint.c: Update.
2005-04-26 05:03:41 +00:00
Kevin Buettner
b275693032
* gdbarch.sh (fetch_tls_load_module_address): New architecture method.
...
* gdbarch.c, gdbarch.h: Regenerate.
* dwarf2loc.c (dwarf_expr_tls_address): Fetch TLS load module
address and pass this address, instead of the objfile address, to
target_get_thread_local_address().
* linux-thread-db.c (thread_db_get_thread_local_address): Change
second parameter from type ``struct objfile *'' to CORE_ADDR. Do
not call svr4_fetch_objfile_link_map() to fetch the load module
address.
* target.h (struct target_ops): Change second parameter of
``to_get_thread_local_address'' from ``struct objfile *'' to
``CORE_ADDR''.
* alpha-linux-tdep.c (solib-svr4.h): Include.
(alpha_linux_init_abi): Register TLS load module fetcher.
* amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
* hppa-linux-tdep.c (hppa_linux_init_abi): Likewise.
* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
* ia64-linux-tdep.c (solib-svr4.h): Include.
(ia64_linux_init_abi): Register TLS load module fetcher.
* m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
* m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
* s390-tdep.c (s390_gdbarch_init): Likewise.
* sparc-linux-tdep.c (sparc32_linux_init_abi): Likewise.
* sparc64-linux-tdep.c (solib-svr4.h): Include.
(sparc64_linux_init_abi): Register TLS load module fetcher.
* Makefile.in (alpha-linux-tdep.o, ia64-linux-tdep.o)
(sparc-linux-tdep.o): Update dependencies.
2005-03-31 19:58:26 +00:00
Mark Kettenis
4dd0443396
* dwarf2loc.c (dwarf_expr_tls_address): Mark addr as volatile.
...
* varobj.c (my_value_equal): Mark val2 as volatile.
2005-03-20 20:30:35 +00:00
Daniel Jacobowitz
96ce45cadb
* dwarf2loc.c (dwarf_expr_tls_address): Initialize ADDR.
...
* gnu-v3-abi.c (gnuv3_baseclass_offset): Update type of
VALADDR.
2005-03-19 19:44:10 +00:00
Kevin Buettner
93ad78a72d
Move printing of TLS related error messages to dwarf2loc.c.
2005-03-18 21:03:39 +00:00
Daniel Jacobowitz
806048c68a
* dwarf2loc.c (loclist_read_variable): Set optimized_out
...
instead of reporting an error.
* valprint.c (value_check_printable): New function.
(common_val_print): New function. Use value_check_printable.
(value_print): Use value_check_printable.
* value.h (common_val_print): Add prototype.
* c-valprint.c (c_val_print): Use common_val_print.
* cp-valprint.c (cp_print_value_fields): Likewise.
(cp_print_hpacc_virtual_table_entries): Likewise.
* f-valprint.c (f_val_print): Likewise.
* jv-valprint.c (java_value_print, java_print_value_fields):
Likewise.
* scm-valprint.c (scm_value_print): Likewise.
* stack.c (print_frame_args): Likewise.
* varobj.c (c_value_of_variable): Likewise.
* p-valprint.c (pascal_val_print, pascal_value_print): Likewise.
(pascal_object_print_value_fields): Likewise. Update call to
pascal_object_print_static_field.
(pascal_object_print_static_field): Remove TYPE argument. Use
common_val_print.
2005-02-28 17:00:49 +00:00
Andrew Cagney
8a3fe4f86c
2005-02-10 Andrew Cagney <cagney@gnu.org>
...
Mark up all error and warning messages.
* ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update.
* bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update.
* core-aout.c, core-regset.c, corefile.c, corelow.c: Update.
* cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update.
* dbxread.c, demangle.c, doublest.c, dsrec.c: Update.
* dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update.
* dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update.
* event-top.c, exec.c, expprint.c, f-lang.c: Update.
* f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update.
* frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update.
* gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update.
* hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update.
* hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update.
* hpread.c, hpux-thread.c, i386-linux-nat.c: Update.
* i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update.
* i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update.
* ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update.
* inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update.
* kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update.
* linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update.
* m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update.
* m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update.
* maint.c, mdebugread.c, mem-break.c, memattr.c: Update.
* mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update.
* nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update.
* observer.c, ocd.c, p-lang.c, p-typeprint.c: Update.
* p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update.
* ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update.
* remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update.
* remote-rdp.c, remote-sim.c, remote-st.c: Update.
* remote-utils.c, remote-utils.h, remote.c: Update.
* rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update.
* ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update.
* sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update.
* solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update.
* solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update.
* somread.c, somsolib.c, source.c, stabsread.c: Update.
* stack.c, std-regs.c, symfile-mem.c, symfile.c: Update.
* symmisc.c, symtab.c, target.c, thread.c, top.c: Update.
* tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update.
* uw-thread.c, valarith.c, valops.c, valprint.c: Update.
* value.c, varobj.c, version.in, win32-nat.c, wince.c: Update.
* xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update.
* cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update.
* mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update.
* mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update.
* mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update.
* tui/tui-win.c: Update.
2005-02-11 04:06:14 +00:00
Andrew Cagney
dfa52d88e7
2005-02-07 Andrew Cagney <cagney@gnu.org>
...
* value.h (VALUE_LAZY): Delete
(set_value_lazy): Declare.
* value.c (set_value_lazy): Define.
* valops.c, valarith.c, jv-valprint.c, jv-lang.c: Update.
* gnu-v2-abi.c, findvar.c, dwarf2loc.c, ada-lang.c: Update.
2005-02-07 15:04:43 +00:00
Andrew Cagney
feb13ab03f
2005-02-06 Andrew Cagney <cagney@gnu.org>
...
* value.h (VALUE_OPTIMIZED_OUT): Delete.
(value_optimized_out, set_value_optimized_out): Declare.
* value.c (set_value_optimized_out, value_optimized_out): Define.
* valprint.c, findvar.c, dwarf2loc.c: Update.
2005-02-07 04:50:28 +00:00
Andrew Cagney
00a4c844d2
2004-11-09 Andrew Cagney <cagney@gnu.org>
...
* value.h (struct value): Delete field bfd_section.
(VALUE_BFD_SECTION): Delete macro.
(COERCE_REF): Update.
(value_at, value_at_lazy): Delete asection parameter.
* printcmd.c (print_formatted, x_command): Update.
(do_examine): Delete asection parameter.
(next_section): Delete variable.
* valops.c (value_cast, value_at, value_at_lazy)
(value_coerce_function, value_addr, value_ind, value_string)
(find_rt_vbase_offset, value_full_object): Update.
* hpacc-abi.c (hpacc_virtual_fn_field)
(hpacc_value_rtti_type): Update.
* gnu-v3-abi.c (gnuv3_rtti_type, gnuv3_virtual_fn_field)
(gnuv3_baseclass_offset): Update.
* f-valprint.c (f_val_print): Update.
* c-valprint.c (c_val_print): Update.
* p-valprint.c (pascal_val_print): Update.
* jv-valprint.c (java_value_print): Update.
* jv-lang.c (java_class_from_object, evaluate_subexp_java): Update.
* ada-lang.c (ada_value_primitive_packed_val)
(ada_evaluate_subexp): Update.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Update.
* expprint.c (print_subexp_standard): Update.
* infcall.c (call_function_by_hand): Update.
* valarith.c (value_add): Update.
* eval.c (evaluate_subexp_standard): Update.
* values.c (allocate_value, value_copy, value_static_field): Update.
* findvar.c (read_var_value, locate_var_value): Update.
2004-11-09 14:43:27 +00:00
Jim Blandy
87808bd699
* dwarf2expr.h (struct dwarf_expr_context): New members
...
'num_pieces' and 'pieces', for returning the result of an
expression that uses DW_OP_piece.
(struct dwarf_expr_piece): New struct type.
* dwarf2expr.c (new_dwarf_expr_context): Initialize num_pieces and
pieces.
(free_dwarf_expr_context): Free pieces, if any.
(add_piece): New function.
(execute_stack_op): Implement DW_OP_piece.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): If the result of the
expression is a list of pieces, print an error message.
(dwarf2_loc_desc_needs_frame): If the expression yields
pieces, and any piece is in a register, then we need a frame.
2004-08-24 21:01:49 +00:00
Jim Blandy
5ca2e3275d
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Wait to fetch the top of
...
the stack until we've decided what sort of result the evaluation
has produced. Use separate variables, with more specific names.
2004-08-24 17:31:49 +00:00
Bryce McKinlay
8edfa9268a
2004-05-13 Bryce McKinlay <mckinlay@redhat.com>
...
* dwarf2loc.c (find_location_expression): Use ANOFFSET to adjust
base_address for shared libraries.
2004-05-13 17:30:41 +00:00
Andrew Cagney
a67af2b9de
2004-01-26 Andrew Cagney <cagney@redhat.com>
...
* dwarf2loc.c (dwarf_expr_frame_base): Use SYMBOL_OPS instead of
SYMBOL_LOCATION_FUNCS
(dwarf2_loclist_funcs, dwarf2_locexpr_funcs): Change type to
"struct symbol_ops".
* dwarf2loc.h (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Change
type to "struct symbol_ops".
* symtab.h (struct symbol_ops): Rename "struct location_funcs".
(struct symbol): Replace ".aux_value.loc.funcs" and
".aux_value.loc.baton" with ".ops" and ".aux_value.ptr".
(SYMBOL_OBJFILE): Delete macro.
(SYMBOL_LOCATION_FUNCS): Delete macro.
(SYMBOL_LOCATION_BATON): Update.
* dwarf2read.c (dwarf2_symbol_mark_computed): Set SYMBOL_OPS
intead of SYMBOL_LOCATION_FUNCS.
* ax-gdb.c (gen_var_ref): Ditto.
* printcmd.c (address_info): Ditto.
* findvar.c (read_var_value): Ditto.
(symbol_read_needs_frame): Ditto.
2004-01-26 20:36:32 +00:00
Daniel Jacobowitz
f630a401b4
* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
...
register do need a frame.
2003-09-11 15:02:51 +00:00
Elena Zannoni
32ffcbeda5
2003-07-22 Elena Zannoni <ezannoni@redhat.com>
...
* dwarf2loc.c (locexpr_describe_location): Fix typos.
2003-07-22 18:24:42 +00:00
Elena Zannoni
c193f044f3
2003-07-22 Elena Zannoni <ezannoni@redhat.com>
...
dwarf2loc.c (locexpr_describe_location): Fix typo.
2003-07-22 18:16:05 +00:00
Elena Zannoni
c3228f1238
2003-07-22 Elena Zannoni <ezannoni@redhat.com>
...
* findvar.c (read_var_value): Remove case for thread local storage
variables. It is now entirely handled by the dwarf2 location
expression code.
* printcmd.c (address_info): Ditto.
* symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
enumeration value.
(struct symbol): Remove objfile field, which was used by
LOC_THREAD_LOCAL_STATIC only.
* dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
* dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
usage of objfile pointer.
* dwarf2loc.c (locexpr_describe_location): Add case to handle
thread local variables.
Add include of objfiles.h.
* dwarf2expr.c (execute_stack_op): Add comments about thread local
storage variables.
* Makefile.in (dwarf2loc.o): Update dependencies.
2003-07-22 15:41:59 +00:00
Andrew Cagney
af1342ab7f
2003-05-22 Andrew Cagney <cagney@redhat.com>
...
* stack.c (frame_info): Inline extract_address, replacing it with
extract_unsigned_integer.
* findvar.c (unsigned_pointer_to_address): Ditto.
* dwarf2loc.c (dwarf_expr_read_reg): Ditto.
* dwarf2expr.c (dwarf2_read_address): Ditto.
* frame.c (frame_pc_unwind): Update comment.
* dummy-frame.c (deprecated_read_register_dummy): Update comment.
2003-05-22 18:37:05 +00:00