Commit graph

14233 commits

Author SHA1 Message Date
Vladimir Prus
f7f9a841a3 Use observers to report stop events in MI.
* mi/mi-interp.c (mi_on_normal_stop): New.
        (mi_interpreter_init): Register mi_on_normal_stop.
        (mi_interpreter_exec_continuation): Remove.
        (mi_cmd_interpreter_exec): Don't register the above.
        * mi/mi-main.c (captured_mi_execute_command): Don't care
        about sync_execution.
        (mi_execute_async_cli_command): Don't install continuation.  Don't
        print *stopped.
        (mi_exec_async_cli_cmd_continuation): Remove.
2008-06-10 09:35:09 +00:00
Vladimir Prus
f5871ec07b Suppress normal stop observer when it's problematic.
* inferior.h (suppress_normal_stop_observer): New.
        * infcall.c (call_function_by_hand): Disable stop events when
        doing function calls.
        * infmcd.c (suppress_normal_stop_observer): New.
        (finish_command_continuation): Call normal_stop observer
        explicitly.
        (finish_command): Disable stop events inside proceed.
        * infrun.c (normal_stop): Don't call normal stop observer if
        suppressed of if multi-step is in progress.
2008-06-10 09:32:05 +00:00
Vladimir Prus
3d3191a6ad Remove stale code.
* infrun.c (finish_command): Don't pass cleanup
        to continuation.
        (finish_command_continuation): Don't grab cleanup from
        the passed data, as we don't use, and cannot, use it anyway.
2008-06-10 09:30:34 +00:00
Vladimir Prus
0b080f5982 Introduce common cleanup for restoring integers.
* defs.h (make_cleanup_restore_integer): New declaration.
        (struct cleanup): New field free_arg.
        (make_my_cleanup_2): New.
        * utils.c (restore_integer_closure, restore_integer)
        (make_cleanup_restore_integer): New.
        (make_my_cleanup): Initialize the free_arg field and
        renamed to make_my_cleanup_2.
        (do_my_cleanups): Call free_arg.
        (discard_cleanups): Call free_arg.
        * breakpoint.c (restore_always_inserted_mode): Remove.
        (update_breakpoints_after_exec): Use make_cleanup_restore_integer.
2008-06-10 09:29:15 +00:00
Doug Evans
b4f62b573f * remote.c (remote_wait): Include beginning of malformed packet
in error output.
2008-06-09 20:43:48 +00:00
Tom Tromey
37cd5d19fe gdb
* completer.c (complete_line): Don't special-case
	expression_completer.
	(expression_completer): Only pass last word to
	location_completer.
	* c-exp.y (yylex): Check 'token', not 'operator'.
gdb/testsuite
	* gdb.base/completion.exp: New tests for field name completion
	with spaces, and field name completion with '->'.
2008-06-09 19:25:15 +00:00
Daniel Jacobowitz
3526781ecf * configure.ac (build_warnings): Add -Wno-format for mingw.
* configure: Regenerated.
2008-06-09 15:03:59 +00:00
Daniel Jacobowitz
d001be7a29 * NEWS: Make indentation consistent. Move exec tracing entry out
of remote packet list.
2008-06-07 22:21:28 +00:00
Tom Tromey
65d12d83a5 gdb
* value.h (evaluate_subexpression_type, extract_field_op):
	Declare.
	* printcmd.c (_initialize_printcmd): Use expression_completer for
	'p', 'inspect', 'call'.
	* parser-defs.h (parse_field_expression): Declare.
	* parse.c: Include exceptions.h.
	(in_parse_field, expout_last_struct): New globals.
	(mark_struct_expression): New function.
	(prefixify_expression): Return int.
	(prefixify_subexp): Return int.  Use expout_last_struct.
	(parse_exp_1): Update.
	(parse_exp_in_context): Add 'out_subexp' argument.  Handle
	in_parse_field.
	(parse_field_expression): New function.
	* expression.h (parse_field_expression): Declare.
	(in_parse_field): Likewise.
	* eval.c (evaluate_subexpression_type): New function.
	(extract_field_op): Likewise.
	* completer.h (expression_completer): Declare.
	* completer.c (expression_completer): New function.
	(count_struct_fields, add_struct_fields): New functions.
	* c-exp.y (yyparse): Redefine.
	(COMPLETE): New token.
	(exp): New productions.
	(saw_name_at_eof, last_was_structop): New globals.
	(yylex): Return COMPLETE when needed.  Recognize in_parse_field.
	(c_parse): New function.
	* breakpoint.c (_initialize_breakpoint): Use expression_completer
	for watch, awatch, and rwatch.
	* Makefile.in (parse.o): Depend on exceptions_h.
gdb/testsuite
	* gdb.base/break1.c (struct some_struct): New struct.
	(values): New global.
	* gdb.base/completion.exp: Add field name completion test.
gdb/doc
	* gdb.texinfo (Completion): Add field name example.
2008-06-06 20:58:08 +00:00
Paul Pluzhnikov
fed276330d 2008-06-06 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/1147
	* gdb/valopts.c (find_overload_match): Handle references
	to pointers.
2008-06-06 18:29:00 +00:00
Paul N. Hilfinger
aced2898db ada_value_assign: Correct big-endian case to take into account the bitsize
of the 'from' operand.
2008-06-06 06:48:36 +00:00
Pedro Alves
a2b87ed119 * annotate.h (annotate_thread_changed): Declare. 2008-06-06 02:35:47 +00:00
Nick Roberts
3d6d0b9dd5 *** empty log message *** 2008-06-06 00:30:27 +00:00
Joseph Myers
c16158bc9c 2008-06-05 Vladimir Prus <vladimir@codesourcery.com>
Nathan Sidwell  <nathan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* acinclude.m4: Include ../config/acx.m4.
	* configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
	* configure, config.in: Regenerate.
	* main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting
	address.
	* top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO.

doc:
2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure.ac: Include ../../config/acx.m4.  Use ACX_PKGVERSION
	and ACX_BUGURL.
	* configure: Regenerate.
	* Makefile.in (PKGVERSION, BUGURL_TEXI): Define.
	(GDBvn.texi): Define VERSION_PACKAGE, BUGURL and BUGURL_DEFAULT.
	* gdb.texinfo: Use VERSION_PACKAGE and BUGURL.  Remove
	mailing-list-specific text about bug reporting unless
	BUGURL_DEFAULT.

gdbserver:
2008-06-05  Vladimir Prus  <vladimir@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* acinclude.m4: Include ../../config/acx.m4.
	* configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
	* configure, config.in: Regenerate.
	* Makefile.in (gdbreplay$(EXEEXT)): Add version.o.
	* server.c (gdbserver_version): Print PKGVERSION.
	(gdbsrever_usage): Add stream parameter.  Print REPORT_BUGS_TO.
	(main): Adjust gdbserver_usage calls.
	* gdbreplay.c (version, host_name): Add declarations.
	(gdbreplay_version, gdbreplay_usage): New.
	(main): Accept --version and --help options.
2008-06-05 22:36:57 +00:00
Pedro Alves
75c9938534 Replace 'target async' by 'maintenance set remote-async' and
'target remote' combination.

	* remote.c (remote_async_wait): Merge into remote_wait, and
	remove.
	(remote_async_permitted, remote_async_permitted_set): New
	variables.
	(set_maintenance_remote_async_permitted)
	(show_maintenance_remote_async_permitted): New functions.
	(remote_async_ops, extended_async_remote_ops): Delete.
	(remote_async_open, extended_remote_async_open): Delete.
	(remote_open_1): Drop async_p parameter.  Update callers.  Replace
	async_p with remote_async_permitted checks.
	(extended_async_remote_attach): Delete.
	(remote_resume, remote_async_resume): Merge and leave remote_resume.
	(remote_async_terminal_inferior): Rename to...
	(remote_terminal_inferior): ... this, and add
	remote_async_termitted check.
	(remote_async_terminal_ours): Rename to...
	(remote_terminal_ours): ... this, and add remote_async_termitted
	check.
	(remote_wait, remote_async_wait): Merge and leave remote_wait
	only.
	(remote_kill, remote_async_kill): Merge and leave remote_kill
	only.
	(remote_async_mourn, extended_async_remote_mourn): Delete.
	(extended_remote_create_inferior_1): Drop async_p parameter.
	Update callers.  Always use extended_remote_ops.
	(extended_remote_async_create_inferior): Delete.
	(remote_return_zero): Delete.
	(init_remote_ops): Register remote_can_async_p, remote_async,
	remote_async_mask, remote_terminal_inferior and
	remote_terminal_ours.
	(remote_can_async_p, remote_is_async_p): Check for
	remote_async_permitted.
	(init_remote_async_ops, init_extended_async_remote_ops): Remove.
	(set_remote_cmd): Don't add async and extended-async targets.
	(_initialize_remote): Add set/show remote-async maintenance
	commands.

	gdb/doc/
	* gdb.texinfo (-target-select): Remove reference to target async.
	(Maintenance Commands): Document "maint set/show remote-async".
2008-06-05 21:35:00 +00:00
Pedro Alves
cf30943b93 * remote.c (kill_kludge): Delete.
(remote_wait, remote_async_wait): Don't set it.
	(remote_kill, remote_async_kill): Don't do anything with it.
2008-06-05 21:13:58 +00:00
Pedro Alves
49fd4a422b gdb/
* linux-thread-db.c (thread_db_wait): Don't trim event ptid.

testsuite/
	* gdb.threads/execl.c, gdb.threads/execl1.c,
	gdb.threads/execl.exp: New tests.
2008-06-05 21:03:59 +00:00
Aleksandar Ristovski
2e618c13af * bcache.c (bcache_data): Call deprecated_bcache_added function.
(deprecated_bcache_added): New function name. Body of function
	bcache_data is used here with the addition of 'added' argument.
	* bcache.h (deprecated_bcache_added): New function.
	* symfile.c (add_psymbol_to_bcache): New helper function, takes part of
	work from add_psymbol_to_list - initialises partial symbol and stashes
	it in objfile's cache.
	(append_psymbol_to_list): New helper function, takes other part of
	work from add_psymbol_to_list - adds partial symbol to the given list.
	(add_psymbol_to_list): Call helper functions instead of doing work
	here. If adding to global list, do not duplicate partial symbols in the
	partial symtab.
2008-06-05 19:21:55 +00:00
Aleksandar Ristovski
c0b37c48d0 * breakpoint.c (print_exception_catchpoint): Put 'exception' back to
'exception caught|thrown' message.
2008-06-05 18:31:53 +00:00
Jan Kratochvil
1e3a102aba * Makefile.in: Update dependencies.
* dwarf2expr.c: New include "gdb_assert.h".
	(new_dwarf_expr_context): Initialize MAX_RECURSION_DEPTH.
	(dwarf_expr_eval): Sanity check the RECURSION_DEPTH count.
	(execute_stack_op): Error out on too large RECURSION_DEPTH.
	Increase/decrease RECURSION_DEPTH around the function.
2008-06-05 18:25:30 +00:00
Daniel Jacobowitz
8d38543126 * remote.c (get_offsets): Handle a single segment.
* symfile.c (symfile_map_offsets_to_segments): Allow more bases
	than segments.
2008-06-05 16:17:54 +00:00
Daniel Jacobowitz
93a57060b7 * solib-svr4.c (struct lm_info): Add lm_addr.
(main_lm_addr): New.
	(svr4_default_sos): Set lm_addr.
	(svr4_current_sos): Set lm_addr and main_lm_addr.
	(svr4_fetch_objfile_link_map): Rewrite.
	(svr4_clear_solib): Clear main_lm_addr.
2008-06-03 12:59:37 +00:00
Joseph Myers
609ba7801a 2008-06-03 Michael Snyder <msnyder@redhat.com>
Joseph Myers  <joseph@codesourcery.com>

	* mips-tdep.c (mips_eabi_return_value): Replace stub that always
	returned RETURN_VALUE_STRUCT_CONVENTION with a real function.
2008-06-03 10:53:34 +00:00
Joel Brobecker
c95f502610 * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Fix incorrect test. 2008-06-02 16:06:52 +00:00
Joel Brobecker
e4d8bc0898 * m68k-tdep.c (m68k_analyze_prologue): Fix length of lea insn. 2008-06-02 16:05:57 +00:00
Joel Brobecker
40adab5634 * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Do not
treat pointers in data space as function descriptors if the
        target address is also in the data space.
2008-06-02 03:12:33 +00:00
Joel Brobecker
bfd66dd95a * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
the trad-frame register value for the SP register.
2008-05-30 17:03:55 +00:00
Mark Kettenis
7ea566bee7 * sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes. 2008-05-29 15:51:37 +00:00
Joel Brobecker
fcac911af1 * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Improve the heuristic
that identifies function descriptors outside of the .opd section.
2008-05-29 00:19:33 +00:00
Aleksandar Ristovski
ade9271736 * breakpoint.c (print_exception_catchpoint): In CLI add 'Temporary' for
temporary catchpoints.  In MI add missing fields 'reason', 'disp',
	'bkptno'.
	(print_mention_exception_catchpoint): Add 'Temporary' for temporary
	catchpoints.
	(handle_gnu_v3_exceptions): Use tempflag.
2008-05-28 14:04:21 +00:00
Vladimir Prus
f7f9ae2c16 Refactor varobj_update interface.
* varobj.c (varobj_update): Report changes as vector.  Also
        return not just a list of varobj, but a list of special structures
        that tell what exactly has changed.
        * varobj.h (enum varobj_update_error): Rename to
        varobj_scope_status.
        (struct varobj_update_result_t): New.
        (varobj_update): Adjust prototype.
        * mi/mi-cmd-var.c: Adjust for changes.
2008-05-28 12:06:36 +00:00
Vladimir Prus
ea56f9c264 * varobj.c (varobj_update): Fix comment typo.
Fix indentation.
2008-05-28 06:49:56 +00:00
Joel Brobecker
c7efd0b9df Set the symtab field of symbols read from ECOFF debugging entries.
* mdebugread.c (add_symbol): Add new parameter symtab.
        (parse_symbol): Update calls to add_symbol throughout.
2008-05-27 20:24:51 +00:00
Andreas Schwab
2a2d4dc301 * symtab.h (enum address_class): Remove LOC_REGPARM and
LOC_COMPUTED_ARG.
	(struct symbol): Add is_argument.
	(SYMBOL_IS_ARGUMENT): Define.

	* ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT.
	* buildsym.c (finish_block): Likewise.
	* stack.c (print_frame_args, print_block_frame_locals)
	(print_frame_arg_vars): Likewise.
	* symtab.c (lookup_block_symbol): Likewise.
	* tracepoint.c (add_local_symbols): Likewise.
	* mi/mi-cmd-stack.c (list_args_or_locals): Likewise.

	* coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT.
	* dwarf2read.c (new_symbol): Likewise.
	* mdebugread.c (parse_symbol): Likewise.
	* stabsread.c (define_symbol): Likewise.

	* ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM
	and LOC_COMPUTED_ARG.
	* ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
	* ax-gdb.c (gen_var_ref): Likewise.
	* eval.c (evaluate_subexp_for_address): Likewise.
	* findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
	* m2-exp.y (yylex): Likewise.
	* printcmd.c (address_info): Likewise.
	* symmisc.c (print_symbol, print_partial_symbols): Likewise.
	* tracepoint.c (collect_symbol, scope_info): Likewise.

testsuite/:
	* gdb.base/frame-args.exp: Handle arguments that are optimized
	out.
2008-05-27 19:29:52 +00:00
Carlos Eduardo Seo
17ea7499a9 * gdbarch.sh: Added new gdbarch struct
core_regset_sections.
	* gdbarch.c: Refreshed.
	* gdbarch.h: Refreshed.
	* regset.h (core_regset_section): Declared.
	* linux-nat.c (linux_nat_do_thread_registers): Added
	support for the new gdbarch struct core_regset_sections.
	* utils.c (host_address_to_string): New function.
	* defs.h (host_address_to_string): New prototype.
	* i386-linux-tdep.c (i386_regset_rections): New register
	sections list for i386.
	  (i386_linux_init_abi): Initialized new gdbarch struct
	  core_regset_sections.
	* Makefile.in: Updated to reflect dependency changes.
	* ppc-linux-tdep.c (ppc_regset_sections): Register
	sections list for ppc.
	  (ppc_linux_init_abi): Initialized new gdbarch struct
	  core_regset_sections
2008-05-24 16:32:01 +00:00
Andreas Schwab
c4fc331b68 * linespec.c (decode_objc): Save current language around call to
get_selected_block.
2008-05-23 23:39:03 +00:00
Joel Brobecker
e936309cee * valprint.h (get_array_bounds): Renames get_array_low_bound.
* valprint.c (get_array_bounds): Renames get_array_low_bound.
        Return the proper bound value if the array index type is an
        enumerated type. Compute the high bound if requested.
        (val_print_array_elements): Handle the case when the array
        element has a null size.
        * ada-valprint.c (print_optional_low_bound): Add handling
        for empty arrays or arrays of zero-size elements.
        (ada_val_print_array): New function, extracted out from
        ada_val_print_1 case TYPE_CODE_ARRAY, and enhanced to
        handle empty arrays and arrays of zero-size elements.
        (ada_val_print_1)[case TYPE_CODE_ARRAY]: Replace extracted-out
        code by call to ada_val_print_array.
        (ada_value_print): Remove handling of null array.  The handling
        was incomplete and is now better handled by ada_val_print_array.
2008-05-23 18:13:35 +00:00
Markus Deuling
50ee753532 * annotate.c (annotate_source, annotate_frame_begin): Replace
deprecated_print_address_numeric with paddress.
	* cli/cli-cmds.c (list_command, edit_command): Likewise.
	* tui/tui-stack.c (tui_make_status_line): Likewise.

	* defs.h (deprecated_print_address_numeric): Remove.
	* printcmd.c (deprecated_print_address_numeric): Remove.
	* maint.c (maint_print_section_info): Fix comment.
2008-05-23 04:31:40 +00:00
Markus Deuling
d44e847372 * valprint.c (print_hex_chars, print_octal_chars, print_decimal_chars,
print_binary_chars, print_char_chars): Add byte_order parameter and
	replace gdbarch_byte_order.
	(print_decimal_chars): Replace START_P, NOT_END_P and NEXT_P by their
	expressions and remove them.  Remove unused TWO_TO_FOURTH.
	(val_print_type_code_int): Introduce gdbarch_byte_order to get at the
	endianness.  Update call to print_hex_chars.
	* valprint.h (print_hex_chars, print_octal_chars, print_decimal_chars,
	print_binary_chars, print_char_chars): Add byte_order parameter.
	* printcmd.c (print_scalar_formatted): Introduce gdbarch_byte_order to
	get at the endianness.  Update print_*_char calls to use byte_order.
2008-05-23 04:28:05 +00:00
Ulrich Weigand
10f4ecb8fa * symtab.h (struct symbol): Make "aux_value" member a void pointer
instead of a union.
	(SYMBOL_LOCATION_BATON): Update.
2008-05-22 17:00:50 +00:00
Ulrich Weigand
c3b22bd09c * symtab.h (enum address_class): Remove LOC_BASEREG and
LOC_BASEREG_ARG.
	(struct symbol): Remove "basereg" member of "aux_value" union.
	(SYMBOL_BASEREG): Remove.

	* ada-exp.y (select_possible_type_sym): Do not handle LOC_BASEREG
	or LOC_BASEREG_ARG.
	* ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
	(ada_add_block_symbols): Likewise.
	* ax-gdb.c (gen_var_ref): Likewise.
	* buildsym.c (finish_block): Likewise.
	* findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
	* m2-exp.y (yylex): Likewise.
	* mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
	* printcmd.c (address_info): Likewise.
	* stack.c (print_frame_args, print_block_frame_locals): Likewise.
	(print_frame_arg_vars): Likewise.
	* symmisc.c (print_symbol): Likewise.
	* symtab.c (lookup_block_symbol): Likewise.
	* tracepoint.c (collect_symbol, add_local_symbols): Likewise.
	(scope_info): Likewise.
2008-05-22 17:00:07 +00:00
Ulrich Weigand
aa59ba6b27 * symtab.h (enum address_class): Remove LOC_LOCAL_ARG.
* ada-exp.y (select_possible_type_sym): Do not handle LOC_LOCAL_ARG.
	* ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
	(ada_add_block_symbols): Likewise.
	* ax-gdb.c (gen_var_ref): Likewise.
	* buildsyms.c (finish_block): Likewise.
	* findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
	* m2-exp.y (yylex): Likewise.
	* mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
	* printcmd.c (address_info): Likewise.
	* stack.c (print_frame_args, print_frame_arg_vars): Likewise.
	* symmisc.c (print_symbol, print_partial_symbols): Likewise.
	* symtab.c (lookup_block_symbol): Likewise.
	* tracepoint.c (collect_symbol, add_local_symbols): Likewise.
	(scope_info): Likewise.
2008-05-22 16:59:01 +00:00
Ulrich Weigand
0bb4e8c4ad * symtab.h (enum address_class): Remove LOC_INDIRECT and
LOC_HP_THREAD_LOCAL_STATIC.

	* findvar.c (symbol_read_needs_frame, read_var_value): Do not
	handle LOC_INDIRECT or LOC_HP_THREAD_LOCAL_STATIC.
	(read_var_value): Likewise.
	* buildsym.c (finish_block): Likewise.
	* objfiles.c (objfile_relocate): Likewise.
	* printcmd.c (address_info): Likewise.
	* symmisc.c (print_symbol, print_partial_symbols): Likewise.
	* tracepoint.c (scope_info): Likewise.
2008-05-22 16:58:02 +00:00
Maxim Grigoriev
9f61f19bbf 2008-05-21 Markus Deuling <deuling@de.ibm.com>
Maxim Grigoriev  <maxim2405@gmail.com>

	* xtensa-tdep.c (xtensa_read_register): Remove.
	(xtensa_frame_cache): Get rid of xtensa_read_register. Pass extra
	argument litbase to call0_frame_cache().
	(call0_track_op, call0_analyze_prologue)
	(call0_frame_cache): Use extra argument litbase.
2008-05-21 18:37:30 +00:00
Joel Brobecker
0e479716ae * infcmd.c (_initialize_infcmd): Add new "fin" alias for "finish". 2008-05-21 17:54:24 +00:00
Ulrich Weigand
214be669de * frame.h (SIZEOF_FRAME_SAVED_REGS): Remove. 2008-05-21 15:08:39 +00:00
Ulrich Weigand
0cd9ab92e5 * alpha-mdebug-tdep.c: Include "trad-frame.h".
(struct alpha_mdebug_unwind_cache): Change type of SAVED_REGS to
	struct trad_frame_saved_reg *.
	(alpha_mdebug_frame_unwind_cache): Allocate SAVED_REGS using
	trad_frame_alloc_saved_regs.  Update accesses.  Record previous
	value of SP as being vfp.
	(alpha_mdebug_frame_prev_register): Use trad_frame_get_prev_register.
	* Makefile.in (alpha-mdebug-tdep.o): Update dependencies.
2008-05-21 14:47:26 +00:00
Markus Deuling
f52cb1b84b * score-tdep.c (score_print_insn): Get the current endianess from
disassemble_info instead of gdbarch_byte_order.
2008-05-21 04:19:44 +00:00
Pedro Alves
8fa75a5d17 * frame.c (get_prev_frame_1): Build frame id before setting
this_frame->prev_p, not after.
2008-05-20 22:21:19 +00:00
Nick Roberts
e8e48118bb *** empty log message *** 2008-05-20 21:02:27 +00:00
Joel Brobecker
c57918b25b * win32-nat.c (win32_wait): Block the control-c event while
waiting for a debug event.
2008-05-20 18:36:36 +00:00
Pedro Alves
6c9353d346 * symtab.h (lookup_symbol_in_language): Update comment.
* symtab.c (lookup_symbol_aux_block): Update comment.
	* ada-lang.c (ada_lookup_symbol_list): Update comment.
2008-05-19 18:37:07 +00:00
Ulrich Weigand
2570f2b7e1 * symtab.h (lookup_symbol_in_language): Remove SYMTAB parameter.
(lookup_symbol): Likewise.
	* symtab.c (lookup_symbol_in_language): Remove SYMTAB parameter.
	(lookup_symbol): Likewise.
	(search_symbols): Update.

	* linespec.c (find_methods, collect_methods): Update.
	(add_matching_methods, add_constructors): Update.
	(decode_compound, decode_dollar, decode_variable): Update.
	(lookup_prefix_sym): Update.

	(symbol_found): Remove SYM_SYMTAB parameter.
	Use SYMBOL_SYMTAB (sym) instead.

	* gdbtypes.c (lookup_typename): Update.
	(lookup_struct, lookup_union, lookup_enum): Update.
	(lookup_template_type): Update.
	(check_typedef): Update.
	* language.c (lang_bool_type): Update.
	* mdebugread.c (parse_procedure): Update.
	* mi/mi-cmd-stack.c (list_args_or_locals): Update.
	* parse.c (write_dollar_variable): Update.
	* printcmd.c (address_info): Update.
	* source.c (select_source_symtab): Update.
	* stack.c (print_frame_args, print_frame_arg_vars): Update.
	* valops.c (find_function_in_inferior): Update.
	(value_struct_elt_for_reference): Update.
	* value.c (value_static_field, value_fn_field): Update.

	* alpha-mdebug-tdep.c (find_proc_desc): Update.
	* arm-tdep.c (arm_skip_prologue): Update.
	* mt-tdep.c (mt_skip_prologue): Update.
	* xstormy16-tdep.c (xstormy16_skip_prologue): Update.

	* ada-lang.h (struct ada_symbol_info): Remove SYMTAB member.
	* ada-lang.c (ada_add_block_symbols): Remove SYMTAB parameter.
	(add_defn_to_vec): Likewise.
	(ada_add_block_symbols): Likewise.
	(lookup_cached_symbol, cache_symbol): Likewise.
	(standard_lookup): Update.
	(ada_lookup_symbol_list): Update.

	* c-valprint.c (c_val_print): Update.
	* cp-support.c (cp_lookup_rtti_type): Update.
	* jv-lang.c (java_lookup_class, get_java_object_type): Update.
	* objc-lang.c (lookup_struct_typedef, find_imps): Update.
	* p-valprint.c (pascal_val_print): Update.
	* scm-lang.c (scm_lookup_name): Update.

	* c-exp.y: Update.
	* f-exp.y: Update.
	* jv-exp.y: Update.
	* m2-exp.y: Update.
	* objc-exp.y: Update.
	* p-exp.y: Update.
2008-05-19 15:50:10 +00:00
Ulrich Weigand
21b556f400 * language.h (struct language_defn): Remove SYMTAB parameter from
la_lookup_symbol_nonlocal callback function pointer.

	* ada-lang.h (ada_lookup_encoded_symbol): Remove SYMTAB parameter.
	(ada_lookup_encoded_symbol): Likewise.
	* ada-lang.c (ada_lookup_encoded_symbol): Remove SYMTAB parameter.
	Always call fixup_symbol_section.
	(ada_lookup_symbol): Remove SYMTAB parameter.
	(ada_lookup_symbol_nonlocal): Likewise.
	* ada-exp.y (write_object_renaming): Update.
	(find_primitive_type): Likewise.

	* cp-support.h (cp_lookup_symbol_nonlocal): Remove SYMTAB parameter.
	(cp_lookup_symbol_namespace): Likewise.
	* cp-namespace.c (lookup_namespace_scope): Remove SYMTAB parameter.
	(lookup_symbol_file): Likewise.
	(lookup_possible_namespace_symbol): Likewise.
	(cp_lookup_symbol_nonlocal): Likewise.
	(cp_lookup_symbol_namespace): Likewise.
	(cp_lookup_nested_type): Update.

	* scm-valprint.c (scm_inferior_print): Update.
	* valops.c (value_maybe_namespace_elt): Update.

	* solist.h (struct target_so_ops): Remove SYMTAB parameter from
	lookup_lib_global_symbol callback function pointer.
	(solib_global_lookup): Remove SYMTAB parameter.
	* solib.c (solib_global_lookup): Remove SYMTAB parameter.
	* solib-svr4.c (elf_lookup_lib_symbol): Likewise.

	* symtab.h (basic_lookup_symbol_nonlocal): Remove SYMTAB parameter.
	(lookup_symbol_static): Likewise.
	(lookup_symbol_global): Likewise.
	(lookup_symbol_aux_block): Likewise.
	(lookup_global_symbol_from_objfile): Likewise.
	* symtab.c (lookup_symbol_aux): Remove SYMTAB parameter.
	(lookup_symbol_aux_local): Likewise.
	(lookup_symbol_aux_block): Likewise.
	(lookup_symbol_aux_symtabs): Likewise.
	(lookup_symbol_aux_psymtabs): Likewise.
	(lookup_global_symbol_from_objfile): Likewise.
	(basic_lookup_symbol_nonlocal): Likewise.
	(lookup_symbol_static): Likewise.
	(lookup_symbol_global): Likewise.

	(lookup_symbol_in_language): Do not pass SYMTAB to lookup_symbol_aux.
2008-05-19 15:49:14 +00:00
Pedro Alves
39237dd126 * remote.c (init_extended_remote_ops): Fix typo. 2008-05-17 11:28:30 +00:00
Pedro Alves
7c0d47a533 * NEWS: Mention new DICOS x86 target configuration. 2008-05-16 15:54:08 +00:00
Ulrich Weigand
907fc20268 gdb/
2008-05-15  Pedro Alves  <pedro@codesourcery.com>
	    Ulrich Weigand  <uweigand@de.ibm.com>

	* minsyms.c (lookup_minimal_symbol_by_pc_name): New function.
	* symtab.h (lookup_minimal_symbol_by_pc_name): Add prototype.

	* symtab.c (fixup_section): Remove prototype.  Add ADDR parameter;
	use it instead of ginfo->value.address.  Look up minimal symbol by
	address and name.  Assume OBJFILE is non-NULL.
	(fixup_symbol_section): Ensure we always have an objfile to look
	into.  Extract and pass to fixup_section the symbol's address that
	will match the minimal symbol's address.
	(fixup_psymbol_section): Likewise.

	(find_pc_sect_psymtab): Fall back to non-addrmap case when debugging
	overlays and the addrmap returned the wrong section.

	* dwarf2read.c (var_decode_location): Set SYMBOL_CLASS before
	calling fixup_symbol_section.


gdb/testsuite/

2008-05-15  Pedro Alves  <pedro@codesourcery.com>

	* gdb.base/fixsection.exp: New file.
	* gdb.base/fixsection0.c: New file.
	* gdb.base/fixsection1.c: New file.
2008-05-16 12:58:49 +00:00
Ulrich Weigand
42848c9656 * minsyms.c: Include "target.h".
(find_solib_trampoline_target): Handle minimal symbols pointing
	to function descriptors as well.
	* Makefile.in (minsyms.o): Update dependencies.

	* ppc-linux-tdep.c (ppc64_standard_linkage): Rename to ...
	(ppc64_standard_linkage1): ... this.  Fix optional instructions.
	(PPC64_STANDARD_LINKAGE_LEN): Rename to ...
	(PPC64_STANDARD_LINKAGE1_LEN): ... this.
	(ppc64_standard_linkage2, ppc64_standard_linkage3): New.
	(PPC64_STANDARD_LINKAGE2_LEN, PPC64_STANDARD_LINKAGE3_LEN): New.
	(ppc64_standard_linkage_target): Rename to ...
	(ppc64_standard_linkage1_target): ... this.
	(ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): New.
	(ppc64_skip_trampoline_code): Support three variants of standard
	linkage stubs.  Call find_solib_trampoline_target to handle
	glink stubs.
2008-05-16 12:51:21 +00:00
Ulrich Weigand
74d1f0631a * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install
ppc64_sysv_abi_adjust_breakpoint_address.
	* ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove.
	* ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove.
2008-05-16 12:49:47 +00:00
Ulrich Weigand
8526f32824 * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Remove.
(ppc_linux_init_abi): Install find_solib_trampoline_target instead
	of ppc_linux_skip_trampoline_code.
2008-05-16 12:48:59 +00:00
Daniel Jacobowitz
ba2b1c567f * gdbarch.sh: Delete dwarf_reg_to_regnum.
* gdbarch.c, gdbarch.h: Regenerated.
	* amd64-tdep.c, arm-tdep.c, h8300-tdep.c, hppa-linux-tdep.c,
	hppa-tdep.c, i386-tdep.c, m32c-tdep.c, m68k-tdep.c, mips-tdep.c,
	s390-tdep.c, xtensa-tdep.c: Do not set dwarf_reg_to_regnum.

	* gdbint.texinfo (Target Conditionals): Delete entry for
	gdbarch_dwarf_reg_to_regnum.
2008-05-16 00:27:24 +00:00
Pedro Alves
4fdebdd056 * linux-nat.c (trap_ptid): Delete.
(linux_nat_detach, linux_nat_wait, linux_nat_mourn_inferior):
	Adjust.
	* linux-thread-db.c (thread_db_wait): Adjust.
2008-05-15 20:11:48 +00:00
Joel Brobecker
bc882aa937 * linespec.c (decode_line_1): Fix a couple of comments. 2008-05-15 19:24:46 +00:00
Alan Modra
83b94be541 * dbxread.c: Formatting.
(INTERNALIZE_SYMBOL): Init n_other.
	(set_namestring): Take pointer to nlist arg rather than struct
	copy.  Update all callers.
2008-05-15 13:23:34 +00:00
Andreas Schwab
87669130a4 (dwarf2loc.o): Remove $(addrmap_h).
(dwarf2read.o): Add $(addrmap_h).
2008-05-15 09:38:40 +00:00
Ulrich Weigand
00d5f93a89 * ppc-linux-tdep.c (ppc_linux_convert_from_func_ptr_addr): Rename ...
(ppc64_linux_convert_from_func_ptr_addr): ... to this.  No longer try
	to handle ppc32 PLT entries.
	(ppc_linux_init_abi): Install ppc64_linux_convert_from_func_ptr_addr
	only on ppc64.
2008-05-14 18:28:59 +00:00
Daniel Jacobowitz
2eaf8d2a14 * elfread.c (elf_symtab_read): Create trampolines for @plt symbols.
* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Renamed from
	lookup_minimal_symbol_by_pc_section.  Prefer trampolines if requested.
	(lookup_minimal_symbol_by_pc_section): Use
	lookup_minimal_symbol_by_pc_section_1.
	(lookup_solib_trampoline_symbol_by_pc): Likewise.
2008-05-14 18:14:34 +00:00
Joel Brobecker
20c625669c * findcmd.c: Add #include "gdb_stdint.h".
* Makefile.in (findcmd.o): Update dependencies.
2008-05-14 04:23:03 +00:00
David S. Miller
de0c3d9d6e * sparc-linux-tdep.c (sparc32_linux_init_abi): Remove
long double size override, Linux does use 128-bit now.
2008-05-11 22:43:53 +00:00
David S. Miller
e8467b5ac5 * sparc-linux-tdep.c (PSR_SYSCALL): Define.
(sparc_linux_write_pc): New function.
	(sparc32_linux_init_abi): Register it.
	* sparc64-linux-tdep.c (TSTATE_SYSCALL): Define.
	(sparc64_linux_write_pc): New function.
	(sparc64_linux_init_abi): Register it.
2008-05-11 22:10:30 +00:00
David S. Miller
87a7da84fb * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use
dwarf2_append_unwinders(), not dwarf2_frame_sniffer.
2008-05-11 20:03:26 +00:00
Ulrich Weigand
8a4c2d245d * rs6000-tdep.c (rs6000_gdbarch_init): Set up info.target_desc
and info.tdep_info before calling gdbarch_init_osabi.
2008-05-11 15:29:47 +00:00
Joel Brobecker
003f381353 * ada-lang.c (ada_evaluate_subexp) [BINOP_ASSIGN]: Do not force
the type of the right hand side of the assignment to the type
        of the left hand side if the left hand side is a convenience
        variable.
2008-05-09 23:50:41 +00:00
Ulrich Weigand
7ae0e2a243 * NEWS: Mention gdbserver bi-arch capability. 2008-05-09 19:17:46 +00:00
Doug Evans
08388c79d5 New "find" command.
* NEWS: Document find command and qSearch:memory packet.
	* Makefile.in (SFILES): Add findcmd.c.
	(COMMON_OBJS): Add findcmd.o.
	(findcmd.o): New rule.
	* findcmd.c: New file.
	* target.h (target_ops): New member to_search_memory.
	(simple_search_memory): Declare.
	(target_search_memory): Declare.
	* target.c (simple_search_memory): New fn.
	(target_search_memory): New fn.
	* remote.c (PACKET_qSearch_memory): New packet kind.
	(remote_search_memory): New fn.
	(init_remote_ops): Init to_search_memory.
	(init_extended_remote_ops): Ditto.
	(_initialize_remote): Add qSearch:memory packet config command.

	* gdbserver/server.h (decode_search_memory_packet): Declare.
	* gdbserver/remote-utils.c (decode_search_memory_packet): New fn.
	* gdbserver/server.c (handle_search_memory_1): New fn.
	(handle_search_memory): New fn.
	(handle_query): Process qSearch:memory packets.

	* doc/gdb.texinfo: Document "find" command, qSearch:memory packet.

	* testsuite/gdb.base/find.exp: New file.
	* testsuite/gdb.base/find.c: New file.
2008-05-09 17:02:03 +00:00
Eli Zaretskii
11c68c4748 * thread.c (_initialize_thread): Don't use commas and periods in
first line of doc string of "set/show print thread-events".
2008-05-09 08:14:47 +00:00
Joel Brobecker
6834c9bb08 * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c:
Update for unwinder changes.
2008-05-09 03:58:26 +00:00
Joel Brobecker
86c3139987 * frame.c (get_frame_base_address, get_frame_locals_address)
(get_frame_args_address): Pass the correct frame when calling
        frame_base_find_by_frame.
2008-05-09 03:52:11 +00:00
Ulrich Weigand
96ef33845a * remote.c (extended_remote_attach_1): Call target_find_description. 2008-05-08 19:48:55 +00:00
Daniel Jacobowitz
45280a5259 * remote.c (extended_remote_create_inferior_1): Clean up
before marking the target running.
2008-05-08 16:08:10 +00:00
Joel Brobecker
227e86ad15 * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder
changes.
2008-05-08 04:21:45 +00:00
Joel Brobecker
236369e7e7 * sparc-tdep.c, sparc-tdep.h, sparc-sol2-tdep.c, sparc64-tdep.c,
sparc64-sol2-tdep.c: Update for unwinder changes.
2008-05-07 19:30:04 +00:00
Daniel Jacobowitz
de237128e5 * cp-support.c (mangled_name_to_comp): Initialize storage.
(unqualified_name_from_comp): Likewise.
2008-05-07 12:43:54 +00:00
Jie Zhang
4fff24118a * remote.c (remote_insert_breakpoint): Call get_remote_state
after gdbarch_breakpoint_from_pc is called.
	(remote_insert_hw_breakpoint): Likewise.
2008-05-07 11:54:41 +00:00
Joel Brobecker
d8ca156b0e * valprint.c (val_print): Add new language parameter and use it
instead of using the current_language. Update calls to val_print
        throughout.
        (common_val_print): Add new langauge parameter and pass it to
        val_print.
        * value.h (struct language_defn): Add opaque declaration.
        (val_print, common_val_print): Update declarations.
        * stack.c (print_frame_args): Update call to common_val_print
        using the appropriate language.
        * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
        * c-valprint, f-valprint.c, m2-valprint.c, mt-tdep.c, infcmd.c,
        mi/mi-main.c, jv-valprint.c, ada-valprint.c, varobj.c, p-valprint.c,
        scm-valprint.c, cp-valprint.c, sh64-tdep.c, printcmd.c:
        #include "language.h" if necessary.
        Update calls to val_print and common_val_print.
        * Makefile.in (mt-tdep.o, sh64-tdep.o, mi-cmds.o, mi-main.o):
        Update dependencies.
2008-05-06 21:35:01 +00:00
Joel Brobecker
b1e6fd1961 * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Treat addresses
pointing inside a non-executable section as function descriptors.
2008-05-06 20:03:03 +00:00
Pedro Alves
02b19d8463 * inf-loop.c (inferior_event_handler): Run all continuations and
print any language change before running the breakpoint commands.
2008-05-06 18:49:19 +00:00
Joel Brobecker
15c1e57ffb * frame-unwind.c (frame_unwind_got_bytes): New function.
* frame-unwind.h (frame_unwind_got_bytes): Add declaration.
        * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update
        for unwinder changes.
2008-05-06 18:37:46 +00:00
Doug Evans
d14508fea9 * NEWS: Mention new /m modifier for disassemble command.
* cli/cli-cmds.c (print_disassembly): New function.
	(disassemble_current_function): New function
	(disassemble_command): Recognize /m modifier, print mixed
	source+assembly.
	(init_cli_cmds): Update disassemble help text.

	* gdb.texinfo (disassemble): Document /m modifier.
2008-05-05 21:14:37 +00:00
Maxim Grigoriev
5142f611ca 2008-05-05 Maxim Grigoriev <maxim2405@gmail.com>
* xtensa-tdep.c: Update for unwinder changes.
2008-05-05 20:49:44 +00:00
Andreas Schwab
f36bf22c92 Update m68k port for unwinder changes.
* m68k-tdep.c (m68k_frame_cache): Expect this_frame.
(m68k_frame_this_id, m68k_frame_prev_register): Update signature.
(m68k_frame_unwind): Use default_frame_sniffer.
(m68k_frame_sniffer): Remove.
(m68k_frame_base_address): Expect this_frame.
(m68k_dummy_id): Renamed from m68k_unwind_dummy_id.  Expect
this_frame.
(m68k_gdbarch_init): Use set_gdbarch_dummy_id,
dwarf2_append_unwinders, and frame_unwind_append_unwinder.
* m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Expect frame_info
parameter instead of pc value.
(m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache):
Expect this_frame.
(m68k_linux_sigtramp_frame_this_id)
(m68k_linux_sigtramp_frame_prev_register)
(m68k_linux_sigtramp_frame_sniffer): Update signature.
(m68k_linux_sigtramp_frame_unwind): Use
m68k_linux_sigtramp_frame_sniffer.
(m68k_linux_init_abi): Use frame_unwind_append_unwinder.

* m68klinux-nat.c (store_register): Fix typo.
2008-05-05 20:47:02 +00:00
Pedro Alves
b3dc826bc7 * infcmd.c (step_1): Put thread id on the stack to avoid possible
NULL dereferencing.
2008-05-05 16:41:42 +00:00
Luis Machado
6528a9eabd * symfile.c (reread_symbols): Update objfile's entry point. 2008-05-05 16:13:49 +00:00
Aleksandar Ristovski
1f906a60f5 Minor typing error fixes in ChangeLog. 2008-05-05 14:47:09 +00:00
Aleksandar Ristovski
5eeb253942 * ada-lang.c: Update throughout to use symbol_matches_domain
instead of matching the symbol domain explictly.
	* dwarf2read.c (add_partial_symbol): Do not add new psym for
	STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada
	class as typedefs. See lookup_partial_symbol function.
	(new_symbol): Similar to add_partial_symbol, do not create
	symbol for the typedef. See lookup_block_symbol.
	* symtab.c (symbol_matches_domain): New function, takes care
	of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java.
	(lookup_partial_symbol): Use symbol_matches_domain to see if the
	found psym domain matches the given domain.
	(lookup_block_symbol): Likewise.
2008-05-05 14:37:32 +00:00
Vladimir Prus
e2b7ddeae3 * top.c (command_line_handler_continuation): Remove.
(execute_command): Do not install the above.
2008-05-05 09:47:47 +00:00
Vladimir Prus
fcfb8b02aa * inf-loop.c (inferior_event_handler): Call bpstat_do_action,
and catch all exceptions from it.
	* top.c (command_line_handler_continuation): Don't
	call bpstat_do_action here.
2008-05-05 09:02:59 +00:00
Daniel Jacobowitz
f792889aa7 * dwarf2read.c (struct dwarf2_cu): Add type_hash.
(struct die_info): Remove type.
	(read_type_die, read_typedef, read_base_type, read_subrange_type)
	(read_structure_type, read_enumeration_type, read_array_type)
	(read_tag_pointer_type, read_tag_ptr_to_member_type)
	(read_tag_reference_type, read_tag_const_type, read_tag_volatile_type)
	(read_tag_string_type, read_subroutine_type, read_set_type)
	(read_unspecified_type): Delete prototypes.  Remove check for
	already-loaded type.  Return the new type.
	(set_die_type): Return the new type.
	(reset_die_and_siblings_types): Delete.
	(load_comp_unit, load_full_comp_unit): Set type_hash.
	(process_queue): Remove call to reset_die_and_siblings_types.
	(process_die): Do not read most types here.  Use read_type_die
	for others.
	(read_func_scope, dwarf2_add_member_fn): Use read_type_die.
	(quirk_gcc_member_function_pointer): Return the new type.
	(process_structure_scope, process_enumeration_scope): Use
	get_die_type and read the DIE's type.
	(read_full_die): Do not initialize die->type.
	(tag_type_to_type): Use read_type_die.
	(read_type_die): Check for already defined types.  Return the
	type.
	(determine_prefix): Use get_die_type.
	(set_die_type): Return the type.
	(get_die_type): Take a CU argument.  Check for no type_hash.
2008-05-04 22:49:47 +00:00
Daniel Jacobowitz
e7030f1508 * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize
locals.
2008-05-04 20:04:48 +00:00
Pedro Alves
611c83ae47 gdb/
* breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp
	and bp_longjmp_resume breakpoints.
	(breakpoint_address_is_meaningful): Claim bp_longjmp_resume as
	meaningful.
	(create_longjmp_breakpoint): Don't create bp_longjmp_resume
	breakpoints.  Create bp_longjmp breakpoints as momentary
	breakpoints.
	(enable_longjmp_breakpoint): Delete.
	(set_longjmp_breakpoint): New.
	(disable_longjmp_breakpoint): Delete.
	(delete_longjmp_breakpoint): New.
	(set_longjmp_resume_breakpoint): Delete.
	(set_momentary_breakpoint_at_pc): New.
	(breakpoint_re_set_one): Don't delete bp_longjmp and
	bp_longjmp_resume breakpoints.
	(breakpoint_re_set): Don't create longjmp and longjmp-resume
	breakpoints.

	* infrun.c (step_resume_breakpoint): Add comment.
	(struct execution_control_state): Delete handling_longjmp member.
	(init_execution_control_state). Don't clear handling_longjmp.
	(context_switch): Don't context switch handling_longjmp.
	(handle_inferior_event): If handling a bp_longjmp breakpoint,
	create a bp_longjmp_resume breakpoint, and set it as current
	step_resume_breakpoint, then step over the longjmp breakpoint.  If
	handling a bp_longjmp_resume breakpoint, don't delete the longjmp
	breakpoint, delete the longjmp-resume breakpoint, and stop
	stepping.
	(currently_stepping): Remove handling_longjmp from expression.
	(insert_step_resume_breakpoint_at_sal): Update comment.
	(insert_longjmp_resume_breakpoint): New.

	* breakpoint.h (set_momentary_breakpoint_at_pc): Declare.
	(enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete
	declarations.
	(set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare.
	(set_longjmp_resume_breakpoint): Delete declaration.

	* gdbthread.h (save_infrun_state): Remove handling_longjmp
	parameter.
	(load_infrun_state): Delete *handling_longjmp parameter.
	* thread.c (save_infrun_state): Remove handling_longjmp parameter.
	Update body.
	(load_infrun_state): Delete *handling_longjmp parameter.  Update
	body.

	* infcmd.c (disable_longjmp_breakpoint_cleanup): Delete.
	(delete_longjmp_breakpoint_cleanup): New.
	(step_1): Call set_longjmp_breakpoint instead of
	enable_longjmp_breakpoint.  Use delete_longjmp_breakpoint_cleanup
	instead of disable_longjmp_breakpoint_cleanup when making cleanup.
	(step_1_continuation): Pass thread id in the continuation args to
	step_once.
	(step_once): Add thread parameter.  Pass thread id the the
	continuation.

gdb/testsuite/
	* gdb.cp/annota2.exp: Adjust to breakpoints invalidations at
	different times.
2008-05-04 19:39:00 +00:00
Jan Kratochvil
ff013f42f4 gdb/
* Makefile.in: Update dependencies.
	* dwarf2read.c: Include "addrmap.h"
	(struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
	(dwarf2_ranges_read): New prototype.
	(dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
	Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
	HAS_RANGES_OFFSET, otherwise add there the contiguous range.
	(dwarf2_ranges_read): New parameter RANGES_PST, update the function
	comment for it.  Add the found ranges to RANGES_PST.  New variable
	BASEADDR, initialize it the common way.
	(dwarf2_get_pc_bounds): Update the caller for the new parameter.
	(read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
	HAS_RANGES_OFFSET for the later processing.
	* objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
	* symtab.c: Include "addrmap.h"
	(find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
	Move the psymtab locator into ...
	(find_pc_sect_psymtab_closer): ... a new function.

	gdb/testsuite/
	* gdb.dwarf2/dw2-ranges.S: Merge the secondary section with `.fini'.
	* gdb.dwarf2/dw2-ranges.exp: Compile also `dw2-ranges2.S' and
	`dw2-ranges3.S' and test also their MAIN2, FUNC2 and MAIN3 symbols.
	* gdb.dwarf2/dw2-ranges2.S, gdb.dwarf2/dw2-ranges3.S: New files.
2008-05-04 17:27:01 +00:00
Jan Kratochvil
85cbf3d35d Set CU BASE_ADDRESS already from partial DIEs.
* dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and
	BASE_ADDRESS_TYPE.  Set these variables from DW_AT_LOW_PC and
	DW_AT_ENTRY_PC.  Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS
	from these variables if it was still unset.
2008-05-04 17:19:06 +00:00
Ulrich Weigand
a7f1256dcb * arch-utils.c (gdbarch_update_p): Use default values for
info.abfd and info.target_desc if they are NULL.
	(gdbarch_from_bfd): Remove assertion.
	(set_gdbarch_from_file): Call gdbarch_find_by_info directly,
	using the current target description.
	(gdbarch_info_fill): Do not use default values for info->abfd
	and info->target_desc.
2008-05-04 15:21:05 +00:00
Jan Kratochvil
b2de52bb5a * symfile.c (reread_symbols): Reload EXEC_BFD on its change. 2008-05-04 14:34:06 +00:00
Ulrich Weigand
515630c5e5 * inferior.h (read_pc_pid, write_pc_pid): Remove.
* regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.

	* regcache.c (read_pc_pid): Remove, replace by ...
	(regcache_read_pc): ... this function.
	(write_pc_pid): Remove, replace by ...
	(regcache_write_pc): ... this function.
	(read_pc, write_pc): Update.

	* infrun.c (displaced_step_prepare): Replace read_pc_pid and
	write_pc_pid by regcache_read_pc and regcache_write_pc.
	(displaced_step_fixup): Likewise.
	(resume): Likewise.  Use regcache arch instead of current_gdbarch.
	(prepare_to_proceed): Likewise.
	(proceed): Likewise.
	(adjust_pc_after_break): Likewise.
	(handle_inferior_event): Likewise.

	* linux-nat.c (cancel_breakpoint): Likewise.
	* linux-thread-db.c (check_event): Likewise.
	* aix-thread.c (aix_thread_wait): Likewise.
	* tracepoint.c (trace_dump_command): Likewise.
2008-05-04 14:12:34 +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
Vladimir Prus
f78bff4839 Fix formatting 2008-05-04 09:33:23 +00:00
Vladimir Prus
c47ffbe3b1 Fix auxv data parsing on 64-bit solaris
* target.h (struct target_ops): New field to_auxv_parse.
	* auxv.c (default_auxv_parse): New, renamed from previous
	target_auxv_parse.
	(target_auxv_parse): Try to call target method.  Fallback to
	default_auxv_parse if not found.
	* procfs.c (procfs_auxv_parse): New.
	(init_procfs_ops): On Solaris, in 64-bit mode, install
	procfs_auxv_parse.
2008-05-04 09:28:27 +00:00
Adam Nemet
35076fa03e * symfile.c (add_symbol_file_command): Use paddress rather than
hex_string to print the address.
2008-05-04 03:45:42 +00:00
Ulrich Weigand
5b19791236 * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0,
return the null frame ID to terminate the backtrace.
2008-05-04 00:41:44 +00:00
Ulrich Weigand
4a7622d18f * rs6000-tdep.c: Do not include "rs6000-tdep.h".
(rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c.
	(SIG_FRAME_PC_OFFSET): Likewise.
	(SIG_FRAME_LR_OFFSET): Likewise.
	(SIG_FRAME_FP_OFFSET): Likewise.
	(rs6000_push_dummy_call): Likewise.
	(rs6000_return_value): Likewise.
	(rs6000_convert_from_func_ptr_addr): Likewise.
	(branch_dest, rs6000_software_single_step): Likewise.
	(deal_with_atomic_sequence): Rename to ...
	(ppc_deal_with_atomic_sequence): ... this.  Adapt all callers.
	Do not call branch_dest; inline required parts of that function.
	(rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME
	with SYMBOL_LINKAGE_NAME.
	(struct reg, regsize): Delete.
	(read_memory_addr): Delete; inline into callers.
	(rs6000_skip_prologue): Move after skip_prologue.
	(skip_prologue): Remove prototype.
	(rs6000_gdbarch_init): Remove sysv_abi variable; perform all
	initialization as if this variable were true.  Do not install
	ppc64_sysv_abi_adjust_breakpoint_address.

	* rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h",
	"gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h",
	and "breakpoint.h".
	(rs6000_find_toc_address_hook): Move here from rs6000-tdep.c.
	(SIG_FRAME_PC_OFFSET): Likewise.
	(SIG_FRAME_LR_OFFSET): Likewise.
	(SIG_FRAME_FP_OFFSET): Likewise.
	(rs6000_push_dummy_call): Likewise.
	(rs6000_return_value): Likewise.
	(rs6000_convert_from_func_ptr_addr): Likewise.
	(branch_dest, rs6000_software_single_step): Likewise.  Replace
	tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE.
	(rs6000_aix_init_osabi): Install rs6000_push_dummy_call,
	rs6000_return_value, and rs6000_convert_from_func_ptr_addr.
	Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size.
	Set tdep->lr_frame_offset.  Do not set tdep->text_segment_base.

	* rs6000-tdep.h (rs6000_software_single_step): Remove prototype.
	(AIX_TEXT_SEGMENT_BASE): New macro.
	* rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base
	by AIX_TEXT_SEGMENT_BASE.

	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype.
	(struct gdbarch_tdep): Remove text_segment_base member.
	* ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install
	ppc64_sysv_abi_adjust_breakpoint_address.

	* Makefile.in (rs6000-tdep.o): Update dependencies.
	(rs6000-aix-tdep.o): Likewise.
2008-05-03 23:50:43 +00:00
Thiago Jung Bauermann
938f5214c6 2008-05-03 Luis Machado <luisgpm@br.ibm.com>
Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* cli/cli-decode.c (lookup_cmd_1): Fix indentation.
	* doublest.c (convert_typed_floating): Fix typo in comment.
	* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
	* frame-unwind.h (frame_sniffer_ftype): Likewise.
	* frame.c (frame_unwind_address_in_block): Likewise.
	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
	* symtab.h (struct symbol): Likewise.
	* tramp-frame.h (struct trad_frame_cache): Likewise.
	* value.c (allocate_repeat_value): Likewise.
2008-05-03 23:24:17 +00:00
Ulrich Weigand
0b02b92d05 * infrun.c (handle_inferior_event): Do not insert breakpoints at
TARGET_WAITKIND_LOADED events during startup (i.e. in the shell).
2008-05-03 23:18:23 +00:00
Pedro Alves
d705c43c5a gdb/
* parse.c (parse_exp_in_context): Don't override
	expression_context_pc if get_selected_block returned a valid
	block.

	gdb/testsuite/
	* gdb.base/macscp.exp, gdb.base/macscp1.c: Add test for printing
	expressions with macros.
2008-05-03 22:30:51 +00:00
Daniel Jacobowitz
d6350901aa * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete.
* arm-tdep.h (STATUS_REGISTER_SIZE): Delete.
	* breakpoint.c (args_for_catchpoint_enable, current_exception_event):
	Delete.
	* c-typeprint.c (c_type_print_base): Delete handling of template
	instantiations.
	* cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET)
	(METHOD_PTR_TO_VOFFSET): Delete.
	* defs.h (QUIT_FIXME): Delete.
	* f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77)
	(DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete.
	* gdbtypes.h (struct cplus_struct_type): Delete is_inlined,
	ninstantiations, and instantiations.
	(TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION)
	(TYPE_FN_FIELD_INLINED): Delete.
	* srec.h (SREC_BINARY): Delete.
	* symtab.c (symbol_init_demangled_name): Delete.
	* symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name)
	(SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND)
	(CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE)
	(CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC)
	(CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE)
	(CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete.
	* target.h (enum thread_control_capabilities): Delete tc_switch.
	(target_can_switch_threads): Delete.
2008-05-03 22:20:13 +00:00
Daniel Jacobowitz
30510692eb * Makefile.in (objfiles.o): Update.
* exec.c (exec_set_section_address): Support p->addr != 0.
	* objfiles.c (objfile_relocate): Update exec_ops section
	addresses.
	* symfile.c (place_section): Move exec_set_section_address call...
	(default_symfile_offsets): ...to here.
2008-05-03 18:04:02 +00:00
Ulrich Weigand
7284e1bed8 ChangeLog:
* Makefile.in (ppc_linux_tdep_h): New macro.
	(powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise.
	(powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise.
	(powerpc_e500l_c): Likewise.
	(ppc-linux-nat.o): Update dependencies.
	(ppc-linux-tdep.o): Update dependencies.
	(rs6000-tdep.o): Update dependencies.

	* ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove.
	(ppc_linux_svr4_fetch_link_map_offsets): Remove.
	(ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h
	(ppc_supply_reg, ppc_collect_reg): Add prototypes.
	(tdesc_powerpc_e500): Remove.

	* rs6000.c: Include "features/rs6000/powerpc-altivec32.c"
	and "features/rs6000/powerpc-altivec64.c".
	(ppc_supply_reg, ppc_collect_reg): Make global.
	(variants): Use tdesc_powerpc_32 for "powerpc" and
	tdesc_powerpc_altivec64 for "powerpc64".
	(_initialize_rs6000_tdep): Initialize AltiVec descriptions.

	* ppc-linux-tdep.h: New file.

	* ppc-linux-tdep.c: Include "ppc-linux-tdep.c".
	Include "features/rs6000/powerpc-32l.c".
	Include "features/rs6000/powerpc-altivec32l.c".
	Include "features/rs6000/powerpc-64l.c".
	Include "features/rs6000/powerpc-altivec64l.c".
	Include "features/rs6000/powerpc-e500l.c".
	(ppc_linux_supply_gregset): New function.
	(ppc_linux_collect_gregset): Handle orig_r3 and trap registers.
	(ppc32_linux_gregset): Use ppc_linux_supply_gregset.
	(ppc64_linux_gregset): Likewise.
	(ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers.
	(ppc_linux_trap_reg_p): New function.
	(ppc_linux_write_pc): New function.
	(ppc_linux_core_read_description): New function.
	(ppc_linux_init_abi): Install ppc_linux_write_pc and
	ppc_linux_core_read_description.  Install orig_r3 and trap
	registers if present in the target description.
	(_initialize_ppc_linux_tdep): Initialize Linux target descriptions.

	* ppc-linux-nat.c: Include "ppc-linux-tdep.h".
	(PT_ORIG_R3, PT_TRAP): Define if necessary.
	(ppc_register_u_addr): Handle orig_r3 and trap registers.
	(fetch_ppc_registers): Likewise.
	(store_ppc_registers): Likewise.
	(store_register): Likewise.
	(ppc_linux_read_description): Check whether AltiVec is supported.
	Check whether inferior is 32-bit or 64-bit.  Return the appropriate
	Linux target description.

	* features/Makefile (WHICH): Use rs6000/powerpc-32l and
	rs6000/powerpc-altivec32l instead of rs6000/powerpc-32.
	Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead
	of rs6000/powerpc-64.  Use rs6000/powerpc-e500l instead of
	rs6000/powerpc-e500.  Update -expedite variables accordingly.

	* features/rs6000/power-spe.xml: Use regnum 73 for "acc".
	* features/rs6000/powerpc-32.xml: Do not include power-altivec.xml.
	* features/rs6000/powerpc-64.xml: Do not include power-altivec.xml.
	* features/rs6000/powerpc-e500.c: Regenerate.
	* features/rs6000/powerpc-32.c: Regenerate.
	* features/rs6000/powerpc-64.c: Regenerate.

	* features/rs6000/power-linux.xml: New file.
	* features/rs6000/power64-linux.xml: New file.
	* features/rs6000/powerpc-32l.xml: New file.
	* features/rs6000/powerpc-altivec32l.xml: New file.
	* features/rs6000/powerpc-64l.xml: New file.
	* features/rs6000/powerpc-altivec64l.xml: New file.
	* features/rs6000/powerpc-e500l.xml: New file.
	* features/rs6000/powerpc-32l.c: New (generated) file.
	* features/rs6000/powerpc-altivec32l.c: New (generated) file.
	* features/rs6000/powerpc-64l.c: New (generated) file.
	* features/rs6000/powerpc-altivec64l.c: New (generated) file.
	* features/rs6000/powerpc-e500l.xml: New (generated) file.

	* regformats/reg-ppc.dat: Remove.
	* regformats/reg-ppc64.dat: Remove.
	* regformats/rs6000/powerpc-32.dat: Remove.
	* regformats/rs6000/powerpc-64.dat: Remove.
	* regformats/rs6000/powerpc-e500.dat: Remove.
	* regformats/rs6000/powerpc-32l.dat: New (generated) file.
	* regformats/rs6000/powerpc-altivec32l.dat: New (generated) file.
	* regformats/rs6000/powerpc-64l.dat: New (generated) file.
	* regformats/rs6000/powerpc-altivec64l.dat: New (generated) file.
	* regformats/rs6000/powerpc-e500l.dat: New (generated) file.

gdbserver/ChangeLog:

	* configure.srv (powerpc*-*-linux*): Set srv_regobj to
	powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
	powerpc-64l.o, and powerpc-altivec64l.o.
	Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
	rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
	rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
	rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
	rs6000/power-linux.xml, and rs6000/power64-linux.xml
	to srv_xmlfiles.

	* Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
	(powerpc-32l.o, powerpc-32l.c): ... these new rules.
	(powerpc-32.o, powerpc-32.c): Remove, replace by ...
	(powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
	(powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
	(powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
	(reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
	(powerpc-64l.o, powerpc-64l.c): ... these new rules.
	(powerpc-64.o, powerpc-64.c): Remove, replace by ...
	(powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
	(clean): Update.

	* linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
	(init_registers_powerpc_32l): ... this new prototype.
	(init_registers_powerpc_32): Remove, replace by ...
	(init_registers_powerpc_altivec32l): ... this new prototype.
	(init_registers_powerpc_e500): Remove, replace by ...
	(init_registers_powerpc_e500l): ... this new prototype.
	(init_registers_ppc64): Remove, replace by ...
	(init_registers_powerpc_64l): ... this new prototype.
	(init_registers_powerpc_64): Remove, replace by ...
	(init_registers_powerpc_altivec64l): ... this new prototype.
	(ppc_num_regs): Set to 73.
	(PT_ORIG_R3, PT_TRAP): Define if necessary.
	(ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
	(ppc_cannot_store_register): Handle orig_r3 and trap.
	(ppc_arch_setup): Update init_registers_... calls.
	(ppc_fill_gregset): Handle orig_r3 and trap.

	* inferiors.c (clear_inferiors): Reset current_inferior.
2008-05-03 17:16:44 +00:00
Vladimir Prus
063bfe2e12 2008-05-03 Pedro Alves <pedro@codesourcery.com>
* thread.c (delete_thread): Call observer_notify_thread_exit.
        * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as
        thread_exit observer.
        (mi_thread_exit): New.
2008-05-03 15:10:42 +00:00
Thiago Jung Bauermann
f132ba9d37 * breakpoint.c (create_exception_catchpoint): Remove prototype
for already deleted function.
	* breakpoint.h (ep_is_exception_catchpoint): Likewise.
	* frame.h (show_stack_frame): Remove prototype.
	* stack.c (show_stack_frame): Remove empty, unused function.
	* source.c (symtab_to_fullname, print_source_lines): Small fix
	in comment.
	* value.c (show_values): Update comments to mention "show values"
	command instead of "info history".
2008-05-03 06:13:21 +00:00
Ulrich Weigand
bccdca4a5f * linespec.c: Include "target.h".
(minsym_found): Handle minimal symbols pointing to function
	descriptors.  Use find_function_start_pc.
	* minsyms.c (msymbol_objfile): New function.
	* parse.c (write_exp_msymbol): Handle minimal symbols pointing
	to function descriptors.
	* symtab.c (fixup_section): Only use minimal symbol at the same
	address to determine section of a symbol.
	(find_function_start_pc): New function.
	(find_function_start_sal): Use it.
	* symtab.h (msymbol_objfile): Add prototype.
	(find_function_start_pc): Likewise.
	* value.c: Include "objfiles.h".
	(value_fn_field): Handle minimal symbols pointing to function
	descriptors.
	* Makefile.in (linespec.o): Update dependencies.
	(value.o): Likewise.
2008-05-03 00:37:35 +00:00
Joel Brobecker
de4d072f96 * ada-lang.c (unwrap_value): Handle the case where the "F" field
inside a PAD type is a bitfield.
2008-05-02 23:41:40 +00:00
Ulrich Weigand
93d4208d62 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle
TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
	Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
	Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
	Allow typedefs when checking for function pointer arguments.
	Right-align small structs passed on the stack.
	(ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
	TYPE_CODE_CHAR the same as TYPE_CODE_INT.
	Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
2008-05-02 23:24:44 +00:00
Daniel Jacobowitz
60c5725ca9 * Makefile.in (arm-tdep.o): Update.
* arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
	(struct arm_per_objfile, arm_compare_mapping_symbols): New.
	(arm_pc_is_thumb): Use mapping symbols.
	(arm_objfile_data_cleanup, arm_record_special_symbol): New.
	(arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
	(_initialize_arm_tdep): Initialize arm_objfile_data_key.
	* elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
	* gdbarch.sh: Add record_special_symbol.
	* gdbarch.c, gdbarch.h: Regenerated.
	* objfiles.c (struct objfile_data): Add cleanup member.
	(register_objfile_data_with_cleanup): New function, from
	register_objfile_data.
	(register_objfile_data): Use it.
	(objfile_free_data): Call clear_objfile_data.
	(clear_objfile_data): Call cleanup functions.
	* objfiles.h (register_objfile_data_with_cleanup): Declare.
2008-05-02 20:38:16 +00:00
Daniel Jacobowitz
574dffa2b9 * objfiles.c (init_entry_point_info): Handle shared libraries. 2008-05-02 20:35:39 +00:00
Daniel Jacobowitz
2c40449048 * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
lowest_pc.
2008-05-02 17:24:50 +00:00
Pedro Alves
237fc4c9cd Implement displaced stepping.
gdb/
	* gdbarch.sh (max_insn_length): New 'variable'.
	(displaced_step_copy, displaced_step_fixup)
	(displaced_step_free_closure, displaced_step_location): New
	functions.
	(struct displaced_step_closure): Add forward declaration.
	* gdbarch.c, gdbarch.h: Regenerated.

	* arch-utils.c: #include "objfiles.h".
	(simple_displaced_step_copy_insn)
	(simple_displaced_step_free_closure)
	(displaced_step_at_entry_point): New functions.
	* arch-utils.h (simple_displaced_step_copy_insn)
	(simple_displaced_step_free_closure)
	(displaced_step_at_entry_point): New prototypes.

	* i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
	(I386_MAX_MATCHED_INSN_LEN): ... this.
	(i386_absolute_jmp_p, i386_absolute_call_p)
	(i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
	(i386_displaced_step_fixup): New functions.
	(struct i386_insn, i386_match_insn): Update.
	(i386_gdbarch_init): Set gdbarch_max_insn_length.
	* i386-tdep.h (I386_MAX_INSN_LEN): New.
	(i386_displaced_step_fixup): New prototype.
	* i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
	Register gdbarch_displaced_step_copy,
	gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
	and gdbarch_displaced_step_location functions.

	* infrun.c (debug_displaced): New variable.
	(show_debug_displaced): New function.
	(struct displaced_step_request): New struct.
	(displaced_step_request_queue, displaced_step_ptid)
	(displaced_step_gdbarch, displaced_step_closure)
	(displaced_step_original, displaced_step_copy)
	(displaced_step_saved_copy, can_use_displaced_stepping): New
	variables.
	(show_can_use_displaced_stepping, use_displaced_stepping)
	(displaced_step_clear, cleanup_displaced_step_closure)
	(displaced_step_dump_bytes, displaced_step_prepare)
	(displaced_step_clear_cleanup, write_memory_ptid)
	(displaced_step_fixup): New functions.
	(resume): Call displaced_step_prepare.
	(proceed): Call read_pc once, and remember the value.  If using
	displaced stepping, don't remove breakpoints.
	(handle_inferior_event): Call displaced_step_fixup.  Add some
	debugging output.  When we try to step over a breakpoint, but get
	a signal to deliver to the thread instead, ensure the step-resume
	breakpoint is actually inserted.  If a thread hop is needed, and
	displaced stepping is enabled, don't remove breakpoints.
	(init_wait_for_inferior): Call displaced_step_clear.
	(_initialize_infrun): Add "set debug displaced" command.  Add
	"maint set can-use-displaced-stepping" command.  Clear
	displaced_step_ptid.
	* inferior.h (debug_displaced): Declare variable.
	(displaced_step_dump_bytes): Declare function.

	* Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
	dependencies.

	gdb/testsuite/
	* gdb.asm/asmsrc1.s: Add scratch space.

	gdb/doc/
	* gdb.texinfo (Debugging Output): Document "set/show debug
	displaced".
	(Maintenance Commands): Document "maint set/show
	can-use-displaced-stepping".
2008-05-02 16:49:54 +00:00
Daniel Jacobowitz
0428b8f567 * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)
(arm_force_mode_string, arm_show_fallback_mode)
	(arm_show_force_mode): New.
	(arm_pc_is_thumb): Honor fallback-mode and force-mode.  Use
	arm_frame_is_thumb.
	(_initialize_arm_tdep): Add "set arm fallback-mode"
	and "set arm force-mode".
	* NEWS: Document new commands.

	* gdb.texinfo (ARM): Document set/show arm fallback-mode
	and set/show arm force-mode.
2008-05-02 16:00:36 +00:00
Andrew Stubbs
d01a8610c3 2008-05-02 Andrew Stubbs <andrew.stubbs@st.com>
* main.h (batch_silent): Declare.
	* event-top.c: Include main.h.
	(gdb_setup_readline): Remove extern batch_silent declaration.
	* infrun.c (normal_stop): Don't print source location when running in
	--batch-silent mode.
	* Makefile.in (event-top.o): Add main.h dependency.
2008-05-02 13:58:38 +00:00
Andreas Schwab
5009afc5ba * target.h (struct target_ops): Add
to_watchpoint_addr_within_range.
(target_watchpoint_addr_within_range): New function.
* target.c (update_current_target): Inherit
to_watchpoint_addr_within_range, defaulting to
default_watchpoint_addr_within_range.
(default_watchpoint_addr_within_range): New function.
(debug_to_watchpoint_addr_within_range): New function.
(setup_target_debug): Set to_watchpoint_addr_within_range.
* ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
New function.
(_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
* breakpoint.c (watchpoints_triggered): Use
target_watchpoint_addr_within_range.

* gdbint.texinfo (Algorithms): Describe
target_watchpoint_addr_within_range.
2008-05-02 11:07:25 +00:00
Pedro Alves
a15c5c831a * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.
(i[34567]86-*-dicos*, x86_64-*-dicos*):
	Set gdb_osabi to GDB_OSABI_DICOS.

	* defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
	* osabi.c (gdb_osabi_name): Add "DICOS".

	* i386-dicos-tdep.c: New file.

	* Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
	(ALLDEPFILES): Add i386-dicos-tdep.c.
	(i386-dicos-tdep.o): New rule.
2008-05-01 23:09:14 +00:00
Pedro Alves
728c8f5867 * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
and register the fork's PTID as a thread.
2008-05-01 22:48:49 +00:00
Aleksandar Ristovski
604133b5c5 PR gdb/1665
* breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
	assign its value to the breakpoint created.
	(create_breakpoints): Add breakpoint_ops argument and pass it
	to create_breakpoint call.
	(break_command_really): Add breakpoint_ops argument and pass/assign
	appropriately.
	(break_command_1): Pass NULL as ops argument.
	(set_breakpoint): Pass NULL as ops argument.
	(print_one_exception_catchpoint): Print <PENDING> if no loc available.
	(handle_gnu_v3_exceptions): Call generic breakpoint code to insert
	catch and throw catchpoints.
2008-05-01 20:35:33 +00:00
Aleksandar Ristovski
1cded358ac PR gdb/2343
* corelow.c (core_open): Use gdbarch_target_signal_from_host to
	translate signal numeric value from the target to GDB's enum
	target_signal.
	* gdbarch.c, gdbarch.h: Regenerated.
	* gdbarch.sh: Added two new functions target_signal_from_host and
	target_signal_to_host.
	* target.h (default_target_signal_from_host,
	default_target_signal_to_host): New functions - declarations.
	* signals/signals.c (struct gdbarch): New declaration.
	(default_target_signal_to_host, default_target_signal_from_host): New
	functions.
2008-05-01 19:31:52 +00:00
Daniel Jacobowitz
b39cc96258 * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.
* arm-tdep.c (arm_frame_is_thumb): New.
	(arm_pc_is_thumb): Clarify comment.
	(thumb_analyze_prologue): Remove PC special case.
	(thumb_scan_prologue): Take a block_addr argument.  Use it for
	find_pc_partial_function.  Remove unused variables.
	(arm_scan_prologue): Use arm_frame_is_thumb.  Use the block address
	for find_pc_partial_function.  Remove PC special case.
	(arm_prologue_prev_register): Add special handling for PC and CPSR.
	(arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
	(arm_get_next_pc): Use arm_frame_is_thumb.
	(arm_write_pc): Use CPSR_T instead of 0x20.
	(arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
	* arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
	(CPSR_T): Define.
	* dwarf2-frame.c (dwarf2_frame_prev_register): Handle
	DWARF2_FRAME_REG_FN.
	* dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
	DWARF2_FRAME_REG_FN.
	(struct dwarf2_frame_state_reg): Add FN to loc union.

	* gdb.arch/thumb-prologue.exp: Do not expect a saved PC.
2008-05-01 18:30:51 +00:00
Joel Brobecker
944f08abce * exec.c (print_section_info): Add missing '\n'. 2008-05-01 17:46:32 +00:00
Vladimir Prus
cfc0146143 * thread.c (add_thread): Move observer call to ...
(add_thread_silent): ... here.
2008-05-01 14:27:39 +00:00
Ulrich Weigand
1af5d7ceb5 * rs6000-tdep.c: Update for unwinder changes.
* ppcobsd-tdep.c: Likewise.
2008-05-01 00:40:39 +00:00
Ulrich Weigand
f089c43345 * s390-tdep.c: Update for unwinder changes. 2008-05-01 00:18:27 +00:00
Ulrich Weigand
8d998b8f49 * spu-tdep.c: Update for unwinder changes. 2008-05-01 00:08:28 +00:00
Daniel Jacobowitz
5366653e67 * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c,
	sparc64-linux-tdep.c: Update for unwinder changes.
2008-04-30 21:28:57 +00:00
Daniel Jacobowitz
b8a22b9440 * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update
for unwinder changes.
	* mips-tdep.c: Likewise.
	(mips_stub_frame_cache): Unwind the ABI stack pointer, not the
	raw one.
2008-04-30 21:25:16 +00:00
Daniel Jacobowitz
a262aec23e * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
unwinder changes.
2008-04-30 21:23:45 +00:00
Daniel Jacobowitz
1045891474 Update i386 and amd64 ports for unwinder changes.
* amd64-tdep.c (amd64_frame_cache): Expect this_frame.
	(amd64_frame_this_id, amd64_frame_prev_register): Update signature.
	(amd64_frame_unwind): Use default_frame_sniffer.
	(amd64_frame_sniffer): Delete.
	(amd64_sigtramp_frame_cache): Expect this_frame.
	(amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register)
	(amd64_sigtramp_frame_sniffer): Update signature.
	(amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer.
	(amd64_frame_base_address): Expect this_frame.
	(amd64_dummy_id): Renamed from amd64_unwind_dummy_id.  Expect
	this_frame.
	(amd64_init_abi): Use set_gdbarch_dummy_id and
	frame_unwind_append_unwinder.
	* i386-tdep.c (i386_frame_cache): Expect this_frame.
	(i386_frame_this_id, i386_frame_prev_register): Update signature.
	(i386_frame_unwind): Use default_frame_sniffer.
	(i386_frame_sniffer): Delete.
	(i386_sigtramp_frame_cache): Expect this_frame.
	(i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register)
	(i386_sigtramp_frame_sniffer): Update signature.
	(i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer.
	(i386_frame_base_address): Update signature.
	(i386_dummy_id): Rename from i386_unwind_dummy_id.  Expect this_frame.
	(i386_push_dummy_call): Update comment.
	(i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr):
	Expect this_frame.
	(i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders,
	and frame_unwind_append_unwinder.
	* amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c,
	amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c,
	i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c,
	i386nbsd-tdep.c: Update for unwinder changes.
2008-04-30 21:19:45 +00:00
Daniel Jacobowitz
25492ce3f9 * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.
(trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect
	this_frame.
	(trad_frame_get_prev_register, trad_frame_get_register): Update signature.
	* trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register)
	(trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update
	signature.
	* tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect
	this_frame.
	(tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer):
	Update signature.
	* tramp-frame.h (struct tramp_frame): Update signature of init.
	* Makefile.in (trad-frame.o): Update.
2008-04-30 21:19:10 +00:00
Daniel Jacobowitz
4a4e514937 * dwarf2-frame.c (read_reg): Expect this_frame in the baton.
(execute_stack_op): Put this_frame in the baton.
	(execute_cfa_program): Take this_frame.
	(struct dwarf2_frame_ops): Update comment for signal_frame_p.
	(dwarf2_frame_default_init_reg, dwarf2_frame_init_reg)
	(dwarf2_frame_signal_frame_p, dwarf2_frame_cache)
	(dwarf2_frame_this_id): Adjust to work on this_frame.
	(dwarf2_signal_frame_this_id): Delete.
	(dwarf2_frame_prev_register): Update signature.  Use new frame
	unwind methods.
	(dwarf2_frame_sniffer): Update signature.  Expect this_frame.
	(dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add
	dwarf2_frame_sniffer.
	(dwarf2_append_unwinders): New.
	(dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect
	this_frame.
	* sparc-tdep.c (sparc32_dwarf2_struct_return_p)
	(sparc32_dwarf2_frame_init_reg): Expect this_frame.
	* cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise.
	* rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise.
	* s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise.
	* sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise.
	* sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise.
	* dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration.
	(dwarf2_append_unwinders): Declare.
	(dwarf2_frame_base_sniffer): Update declaration.
	* i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect
	this_frame.
2008-04-30 21:18:28 +00:00
Daniel Jacobowitz
669fac235d Convert frame unwinders to use the current frame and
"struct value".

	* frame.c (frame_debug): Make global.
	(get_frame_id): Pass this frame to unwinder routines.
	(frame_pc_unwind): Remove unused unwind->prev_pc support.
	(do_frame_register_read): Do not discard the return value of
	frame_register_read.
	(frame_register_unwind): Remove debug messages.  Use
	frame_unwind_register_value.
	(frame_unwind_register_value, get_frame_register_value): New
	functions.
	(create_new_frame, get_frame_base_address, get_frame_locals_address)
	(get_frame_args_address, get_frame_type): Pass this frame to
	unwinder routines.
	(frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
	functions.
	* frame.h: Update comments.
	(frame_debug, frame_unwind_register_value, get_frame_register_value)
	(frame_prepare_for_sniffer): Declare.
	* frame-unwind.h: Update comments and parameter names.
	(default_frame_sniffer): Declare.
	(frame_prev_register_ftype): Return a struct value *.
	(struct frame_unwind): Remove prev_pc member.
	(frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
	(frame_unwind_append_unwinder, frame_unwind_got_optimized)
	(frame_unwind_got_register, frame_unwind_got_memory)
	(frame_unwind_got_constant, frame_unwind_got_address): Declare.
	* frame-base.h: Update comments and parameter names.
	* valops.c (value_fetch_lazy): Use get_frame_register_value.  Iterate
	if necessary.  Add debugging output.
	* sentinel-frame.c (sentinel_frame_prev_register)
	(sentinel_frame_this_id): Update for new signature.
	(sentinel_frame_prev_pc): Delete.
	(sentinel_frame_unwinder): Remove prev_pc.
	* ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
	prev_pc.
	* libunwind-frame.c (libunwind_frame_unwind): Likewise.
	* frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
	(frame_unwind_append_sniffer): Delete.
	(frame_unwind_append_unwinder): New function.
	(frame_unwind_find_by_frame): Take this frame.  Only use sniffers
	from unwinders.  Use frame_prepare_for_sniffer.
	(default_frame_sniffer, frame_unwind_got_optimized)
	(frame_unwind_got_register, frame_unwind_got_memory)
	(frame_unwind_got_constant, frame_unwind_got_address): New functions.
	* dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
	(dummy_frame_prev_register, dummy_frame_this_id): Update for new
	signature.
	* gdbarch.sh: Replace unwind_dummy_id with dummy_id.
	* gdbarch.c, gdbarch.c: Regenerated.
	* frame-base.c (default_frame_base_address)
	(default_frame_locals_address, default_frame_args_address): Update
	for new signature.
	(frame_base_find_by_frame): Pass this frame to unwinder routines.
	* infcall.c (call_function_by_hand): Update comments.
	* Makefile.in (frame-unwind.o): Update dependencies.

	* gdbint.texinfo (Stack Frames): New chapter.
	(Algorithms): Move Frames text to the new chapter.
	(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS.  Document
	gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.
2008-04-30 21:16:46 +00:00
Daniel Jacobowitz
9214ee5f5f * ada-lang.c (ada_value_primitive_packed_val): Only check
value_lazy for memory lvals.
	* findvar.c (value_of_register_lazy): New function.
	(locate_var_value): Only check value_lazy for memory lvals.
	* valarith.c (value_subscripted_rvalue): Likewise.
	* valops.c (value_fetch_lazy): Handle both memory and register
	lvals.
	(search_struct_field, value_slice): Only check value_lazy for memory
	lvals.
	* value.c (struct value): Update comment for lazy.
	(value_primitive_field): Only check value_lazy for memory lvals.
	* value.h (value_lazy): Update comment.
	(value_of_register_lazy): Declare.
2008-04-30 21:13:49 +00:00
Daniel Jacobowitz
939643d727 * corefile.c (reopen_exec_file): Close any open files. 2008-04-30 18:22:37 +00:00
Joel Brobecker
1de34ab72d * ia64-tdep.c (ia64_memory_remove_breakpoint): Set
show_memory_breakpoints to 1 while reading the instruction bundle.
2008-04-29 21:14:06 +00:00
Joel Brobecker
ea42b34a37 * gdbarch.sh: Document the return_value method. Explain that
the FUNCTYPE parameter might be NULL.
        * gdbarch.h: Regenerated.
        * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
        type when calling using_struct_return, as this is unnecessary
        on this target.
2008-04-29 16:06:07 +00:00
Joel Brobecker
a0fe373c76 * terminal.h (create_tty_session): Fix return type. 2008-04-29 00:52:26 +00:00
Vladimir Prus
c64465393f * mi/mi-interp.c (mi_new_thread): Quote the thread id. 2008-04-26 17:58:48 +00:00
Joel Brobecker
2f069f6f9e * breakpoint.c (condition_command, commands_from_control_command)
(break_command_really): Minor reformatting.
2008-04-26 05:43:45 +00:00
Pedro Alves
93b5768bfd gdb/
* dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.

gdb/testsuite/
	* gdb.dwarf2/dw2-strp.S, gdb.dwarf2/dw2-strp.exp: New files.
2008-04-25 18:45:24 +00:00
Pedro Alves
436675d3af * amd64-tdep.c (amd64_get_longjmp_target): New.
(amd64_init_abi): Register amd64_get_longjmp_target as
	gdbarch_get_longjmp_target callback.
	* i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
2008-04-25 14:57:30 +00:00
Pedro Alves
78b6a73194 * breakpoint.h (enum bpstat_what_main_action): Delete
BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.

	* breakpoint.c (clrs): Delete.
	(bpstat_what): Update table.

	* infrun.c (handle_inferior_event): Remove
	BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
2008-04-25 14:50:10 +00:00
Vladimir Prus
9e22b03a59 * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
Adjust all prototypes using mi_cmd_args_ftype to use
	mi_cmd_argv_ftype.
	(struct mi_cmd): Remove the args_func field.
	* mi/mi-cmds.c: Don't provide value for the args_func field.
	* mi/mi-main.c (mi_execute_async_cli_command)
	(mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
	(mi_cmd_exec_step, mi_cmd_exec_step_instruction)
	(mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
	(mi_cmd_exec_continue, mi_cmd_exec_interrupt)
	(mi_cmd_target_download): Adjust.
	(mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
	(mi_cmd_execute): Do not check for args_func.
	(mi_execute_async_cli_command): Adjust.
	* mi/mi-parse.c: Don't check for args_func.
2008-04-24 13:28:06 +00:00
Vladimir Prus
18a1839349 * breakpoint.c (bpstat_check_location)
(bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
        New, extracted from bpstat_stop_status.
        (bpstat_stop_status): Use the above.
2008-04-24 12:56:45 +00:00
Vladimir Prus
721c02def4 * mi/mi-main.c (last_async_command): Rename to current_token.
(previous_async_command): Remove.
        (mi_cmd_gdb_exit): Adjust.
        (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
        (mi_cmd_target_select): Adjust.
        (mi_cmd_execute): Don't set previous_async_command.  Free token
        here even in async mode.
        (mi_execute_async_cli_command): Adjust.
        (mi_exec_async_cli_cmd_continuation): Adjust.  Do not free the
        token.
        (mi_load_progress): Adjust.
2008-04-24 12:09:49 +00:00
Vladimir Prus
f13468d93e * infcmd.c (step_1_continuation): Always disable longjmp
breakpoint if we're not going to do another step.
2008-04-24 11:43:14 +00:00
Vladimir Prus
f107f56344 exec_cleanup murder.
* breakpoint.c (until_break_command_continuation): Add
	the 'error' parameter.  Directly delete the breakoint as
	opposed to running cleanups.
	(until_break_command): Install continuation only
	after starting the target.  Don't use exec cleanups,
	use ordinary cleanups.  Discard cleanups is successfully
	started the target in async mode.
	(make_cleanup_delete_breakpoint): Remove.
	* breakpoint.h (make_cleanup_delete_breakpoint): Remove
	declaration.
	* defs.h (do_exec_cleanups, make_exec_cleanup): Remove
	declarations.
	(struct continations): Add the 'error' parameter to the
	continuation_hook field.
	(add_continuation, do_all_continuations)
	(add_intermediate_continuation)
	(do_all_intermediate_continuations): Add the 'error' parameter.
	* exceptions.c (throw_exception): Don't call do_exec_cleanups.
	* inf-loop.c (inferior_event_handler): Instead of calling
	discard_all_continuations, use do_all_continuations with 1 as
	'error' parameter.  Pass 0 as 'error' parameter in existing uses
	of discard_all_continuations.
	* infcmd.c (step_1): Do not use exec cleanup.  For async case, discard
	cleanups.
	(step_once): Install continuation only after resuming the target.
	(step_1_continuation): Disable longjmp breakpoint on error.
	(finish_command_continuation): Add the error parameter.  Delete
	the finish breakpoint directly, do not use cleanups.
	(finish_command): Do not use exec_cleanups. Always setup
	continuation.  For sync case, immediately run them.
	(attach_command_continuation): Add the error parameter.
	* infrun.c (fetch_inferior_event): Do not use exec cleanups to
	remove step_resume_breakpoint -- adjust delete it directly.
	* interps.c (interp_set): Adjust call to do_all_continations.
	* mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
	do exec cleanups.
	* mi/mi-main.c (mi_cmd_target_select): Do not do exec
	cleanups.
	(mi_cmd_execute): Do not use exec_cleanup.
	(mi_execute_async_cli_command): Simplify the string concatenation
	logic.  Do no use exec cleanup.
	(mi_exec_async_cli_cmd_continuation): New parameter error.
	Free last_async_command.
	* top.c (command_line_handler_continuation): New parameter error.
	* utils.c (exec_cleanup_chain, make_exec_cleanup)
	(do_exec_cleanups): Remove.
	(add_continuation, do_all_continations)
	(add_intermediate_continuation)
	(do_all_intermediate_continuations): New parameter error.
2008-04-24 11:13:44 +00:00
Vladimir Prus
74960c6002 * breakpoint.h (bp_location_p): New typedef.
Register a vector of bp_location_p.
	* breakpoint.c (always_inserted_mode)
	(show_always_inserted_mode): New.
	(unlink_locations_from_global_list): Remove.
	(update_global_location_list)
	(update_global_location_list_nothrow): New.
	(update_watchpoint): Don't free locations.
	(should_insert_location): New.
	(insert_bp_location): Use should_insert_location.
	(insert_breakpoint_locations): Copied from
	insert_breakpoints.
	(insert_breakpoint): Use insert_breakpoint_locations.
	(bpstat_stop_status): Call update_global_location_list
	when disabling breakpoint.
	(allocate_bp_location): Don't add to bp_location_chain.
	(set_raw_breakpoint)
	(create_longjmp_breakpoint, enable_longjmp_breakpoint)
	(disable_longjmp_breakpoint, create_overlay_event_breakpoint)
	(enable_overlay_breakpoints, disable_overlay_breakpoints)
	(set_longjmp_resume_breakpoint)
	(enable_watchpoints_after_interactive_call_stop)
	(disable_watchpoints_before_interactive_call_start)
	(create_internal_breakpoint)
	(create_fork_vfork_event_catchpoint)
	(create_exec_event_catchpoint, set_momentary_breakpoint)
	(create_breakpoints, break_command_1, watch_command_1)
	(create_exception_catchpoint)
	(handle_gnu_v3_exceptions)
	(disable_breakpoint, breakpoint_re_set_one)
	(create_thread_event_breakpoint, create_solib_event_breakpoint)
	(create_ada_exception_breakpoint): : Don't call check_duplicates.
	Call update_global_location_list.
	(delete_breakpoint): Don't remove locations and don't
	try to reinsert them. Call update_global_location_list.
	(update_breakpoint_locations): Likewise.
	(restore_always_inserted_mode): New.
	(update_breakpoints_after_exec): Temporary disable
	always inserted mode.
	* Makefile.in: Update dependencies.

	* infrun.c (proceed): Remove breakpoints while stepping
	over breakpoint.
	(handle_inferior_event): Don't remove or insert
	breakpoints.
	* linux-fork.c (checkpoint_command): Remove breakpoints
	before fork and insert after.
	(linux_fork_context): Remove breakpoints before switch
	and insert after.
	* target.c (target_disconnect, target_detach): Remove
	breakpoints from target.
2008-04-24 10:21:45 +00:00
Vladimir Prus
d24317b480 * breakpoint.c (print_one_breakpoint_location): In MI
mode, report the location string the breakpoint was
	originally created with.
2008-04-24 08:46:19 +00:00
Maxim Grigoriev
ee967b5f61 2008-04-23 Maxim Grigoriev <maxim2405@gmail.com>
* Makefile.in (xtensa-tdep.o): Update dependencies.
	* configure.tgt (xtensa*): Update dependencies.
	* xtensa-tdep.c (arreg_number): Renamed from areg_number.
	Local variable areg renamed to arreg.
	(areg_number): New function.
	(xtensa_pseudo_register_read, xtensa_pseudo_register_write)
	(xtensa_extract_return_value, xtensa_store_return_value): areg_number
	replaced by arreg_number.
	(xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
	(xtensa_alloc_frame_cache): Initialize cache->wd.ws.
	(xtensa_scan_prologue): New function.
	(xtensa_frame_cache): New local fp_regnum. Handle separately the case,
	when ENTRY instraction hasn't been executed yet. Get the frame pointer
	value based on prologue analysis. Fix the bugs preventing WS and
	AR4-AR7/A11 registers from getting right values for intermediate frames,
	whose registers have been already spilled.
	(xtensa_frame_prev_register): Fix WS register value. Use are_number
	and arreg_number appropriately.
	(xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
	svr4_ilp32_fetch_link_map_offsets.
2008-04-23 21:17:05 +00:00
Andrew Stubbs
09d71d234a 2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
* printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
	(printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
2008-04-23 13:21:54 +00:00
Paolo Bonzini
fdc5970995 gdb:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * acinclude.m4: Add override.m4.
        * configure: Regenerate.

gdb/gdbserver:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * acinclude.m4: Add override.m4.
        * configure: Regenerate.

gdb/testsuite:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * aclocal.m4: Add override.m4.
        * configure: Regenerate.
2008-04-23 12:21:50 +00:00
Jan Kratochvil
0bcd014983 * ada-lang.c (get_selections): Variable PROMPT made non-const and
initialized with a trailing space now.  Use PROMPT_ARG of
	COMMAND_LINE_INPUT instead of printing it ourselves.
2008-04-22 22:23:16 +00:00
Joel Brobecker
88d8a8e052 * NEWS: Document support for 64-bit core file. 2008-04-22 20:29:07 +00:00
Corinna Vinschen
c055b1010f doc/ChangeLog:
--------------

	* gdb.texinfo (Set SH Calling convention): New @item.
	(Show SH Calling convention): Ditto.

ChangeLog:
----------

	* NEWS: Add information on calling convention and new SH CLI options.

	* sh-tdep.c (sh_cc_gcc): New static string.
	(sh_cc_renesas): Ditto.
	(sh_cc_enum): New static string array.
	(sh_active_calling_convention): New static string pointer denoting
	active user chosen ABI.
	(sh_is_renesas_calling_convention): New function to return function
	specific ABI, or user choice if necessary.
	(sh_use_struct_convention): Rename first argument and turn around its
	meaning.  Check for renesas ABI and return accordingly.
	(sh_use_struct_convention_nofpu): New function.
	(sh_next_flt_argreg): Get function type as third parameter.  Check
	for renesas ABI and choose floating registers accordingly.
	(sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
	struct return slot accordingly.
	(sh_push_dummy_call_nofpu): Ditto.
	(sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
	Evaluate ABI and give to sh_use_struct_convention_nofpu.
	(sh_return_value_fpu):  Evaluate ABI and give to
	sh_use_struct_convention.
	(show_sh_command): New function.
	(set_sh_command): Ditto.
	(_initialize_sh_tdep): Initialize `set/show sh calling-convention
	CLI command.

	* gdbarch.sh (return_value): Add func_type argument.
	* gdbarch.c: Regenerate.
	* gdbarch.h: Ditto.
	* eval.c (evaluate_subexp_standard): Rename local variable value_type to
	val_type so as not to collide with value_type function.  Call
	using_struct_return with additional function type argument.
	* infcall.c (call_function_by_hand): Call using_struct_return and
	gdbarch_return_value with additional function type argument.
	* infcmd.c (print_return_value): Take addition func_type argument.
	Call gdbarch_return_value with additional function type argument.
	(finish_command_continuation): Call print_return_value with additional
	function type argument.
	(finish_command): Ditto.
	* sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
	additional function type argument.
	* stack.c (return_command): Call using_struct_return and
	gdbarch_return_value with additional function type argument.
	* value.c (using_struct_return): Take additional function type argument.
	* value.h (using_struct_return): Accommodate declaration.
	* alpha-tdep.c (alpha_return_value): Add func_type argument.
	* amd64-tdep.c (amd64_return_value): Ditto.
	* arm-tdep.c (arm_return_value): Ditto.
	* avr-tdep.c (avr_return_value): Ditto.
	* cris-tdep.c (cris_return_value): Ditto.
	* frv-tdep.c (frv_return_value): Ditto.
	* h8300-tdep.c (h8300_return_value): Ditto.
	(h8300h_return_value): Ditto.
	* hppa-tdep.c (hppa32_return_value): Ditto.
	(hppa64_return_value): Ditto.
	* i386-tdep.c (i386_return_value): Ditto.
	* ia64-tdep.c (ia64_return_value): Ditto.
	* iq2000-tdep.c (iq2000_return_value): Ditto.
	* m32c-tdep.c (m32c_return_value): Ditto.
	* m32r-tdep.c (m32r_return_value): Ditto.
	* m68hc11-tdep.c (m68hc11_return_value): Ditto.
	* m68k-tdep.c (m68k_return_value): Ditto.
	(m68k_svr4_return_value): Ditto.
	* m88k-tdep.c  (m88k_return_value): Ditto.
	* mep-tdep.c (mep_return_value): Ditto.
	* mips-tdep.c (mips_eabi_return_value): Ditto.
	(mips_n32n64_return_value): Ditto.
	(mips_o32_return_value): Ditto.
	(mips_o64_return_value): Ditto.
	* mn10300-tdep.c (mn10300_return_value): Ditto.
	* mt-tdep.c (mt_return_value): Ditto.
	* ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
	* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
	(ppc_sysv_abi_broken_return_value): Ditto.
	(ppc64_sysv_abi_return_value): Ditto.
	* ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
	(ppc_sysv_abi_broken_return_value): Ditto.
	(ppc64_sysv_abi_return_value): Ditto.
	* ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
	* rs6000-tdep.c (rs6000_return_value): Ditto.
	* s390-tdep.c (s390_return_value): Ditto.
	* score-tdep.c (score_return_value): Ditto.
	* sh-tdep.c (sh_return_value_nofpu): Ditto.
	(sh_return_value_fpu): Ditto.
	* sh64-tdep.c (sh64_return_value): Ditto.
	* sparc-tdep.c (sparc32_return_value): Ditto.
	* sparc64-tdep.c (sparc64_return_value): Ditto.
	* spu-tdep.c (spu_return_value): Ditto.
	* v850-tdep.c (v850_return_value): Ditto.
	* vax-tdep.c (vax_return_value): Ditto.
	* xstormy16-tdep.c (xstormy16_return_value): Ditto.
	* xtensa-tdep.c (xtensa_return_value): Ditto.

	* gdbtypes.h (struct type): Add calling_convention member.
	* dwarf2read.c (read_subroutine_type): Add calling convention read
	from DW_AT_calling_convention attribute to function type.
2008-04-22 11:03:42 +00:00
Markus Deuling
9eec4d1e39 * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
multi_f77_subscript to support values from registers.
	* valarith.c (value_subscripted_rvalue): Remove prototype and static.
	* value.h (value_subscripted_rvalue): Add prototype.

	* f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
	Fix output.
	* f-valprint.c (f_val_print): Likewise.
2008-04-22 06:53:18 +00:00
Craig Silverstein
ef72380d94 * dwarf2read.c (zlib_decompress_section): Define abfd in the
!HAVE_ZLIB_H case.
2008-04-21 22:00:52 +00:00
Pedro Alves
ff8e85c382 * symfile.c (syms_from_objfile): Don't warn if lowest loadable
section is not a code section.
2008-04-21 14:25:16 +00:00
Craig Silverstein
31fffb0212 * NEWS: Add information on compressed debug sections.
* doc/gdb.texinfo (Requirements): Add an optional requirement
      on zlib.
      * doc/gdbint.texinfo (Debugging File Formats): Add new
      subsection for Compressed DWARF 2.
2008-04-20 00:03:25 +00:00
Vladimir Prus
8e91f0232c * mi/mi-cmd-var.c (varobj_update_one): Print new
value for variable objects that changed type.
2008-04-19 17:03:20 +00:00
Vladimir Prus
603ba1de0b * varobj.c (varobj_invalidate): Don't touch floating
varobjs.
2008-04-19 16:38:25 +00:00
Mark Kettenis
7fc830e290 * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
(multiple_symbols_cancel): Remove extra const.
* symtab.h: Likewise.
2008-04-19 11:39:50 +00:00
Nick Roberts
bcbf8b680d *** empty log message *** 2008-04-19 06:07:51 +00:00
Craig Silverstein
233a11ab1c * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
* config.in, configure: Regenerate.
	* dwarf2read.c: Include zlib.h if present.
	Modified *_SECTION macros.
	(section_is_p): New.
	(dwarf2_locate_sections): Use section_is_p instead of strcmp
	(dwarf2_resize_section): New.
	to determine whether a given section has a given name.
	(zlib_decompress_section): New.
	(dwarf2_read_section): Read the compressed section if present
	in the binary.
	* testsuite/gdb.dwarf2/dw2-compressed.S: New file.
	* testsuite/gdb.dwarf2/dw2-compressed.exp: New file.
	* MAINTAINERS: Added myself to section Write After Approval.
2008-04-19 05:06:54 +00:00
Thiago Jung Bauermann
a03b3a9785 * defs.h (exec_set_section_offsets): Remove prototype.
* exec.c (exec_set_section_offsets): Remove function.
2008-04-19 02:07:19 +00:00
Joel Brobecker
9e3867569f * stabsread.c (cleanup_undefined_types_1): Add instance flags check
in the search for the matching symbol.
2008-04-19 01:33:26 +00:00
Marc Khouzam
2ec9323810 2008-04-17 Marc Khouzam <marc.khouzam@ericsson.com>
* breakpoint.c (update_watchpoint): Always reparse
       condition.
2008-04-18 00:41:28 +00:00
Joel Brobecker
e9bbd7c5e4 * breakpoint.c (print_one_breakpoint_location): Make sure to print
the breakpoint address only once.
2008-04-17 22:43:17 +00:00
Joel Brobecker
475bbd17e0 * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
rather than a hard-coded architecture, for xcoff executables.
2008-04-17 21:00:53 +00:00
Doug Evans
4584e32ea4 * buildsym.c (watch_main_source_file_lossage): New fn.
(end_symtab): Call it.

	* gdb.base/hashline1.exp: New testcase.
	* gdb.base/hashline2.exp: New testcase.
	* gdb.base/hashline2.exp: New testcase.
2008-04-17 17:54:05 +00:00
Doug Evans
86991504e7 * source.c (find_and_open_source): Add some comments clarifying
handling of FULLNAME argument.	Make static.  Remove pointless
	xstrdup/xfree.
2008-04-17 17:43:58 +00:00
Pedro Alves
0a320680e8 gdb/
* inf-loop.c (inferior_event_handler): Also run the intermediate
	continuations in the INF_EXEC_COMPLETE case.

	gdb/testsuite/
	* gdb.base/step-break.exp, gdb.base/step-break.c: New files.
2008-04-17 11:49:56 +00:00
Tom Tromey
700b53b17a * cli/cli-decode.h (CMD_ASYNC_OK): New define.
(set_cmd_async_ok, get_cmd_async_ok): Declare.
	* cli/cli-decode.c (set_cmd_async_ok): New function.
	(get_cmd_async_ok): New function.
	* cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and
	"show" as async-ok.
	* top.c (execute_command): Use get_cmd_async_ok.
	* infcmd.c: Include cli/cli-decode.h.
	(_initialize_infcmd): Mark "interrupt" as async-ok.
	* Makefile.in (infcmd.o): Depend on cli_decode_h.
2008-04-17 00:25:01 +00:00
Daniel Jacobowitz
dacec2a8bd PR gdb/2445
* exec.c: Correct "arch-utils.h" include.
2008-04-16 22:54:55 +00:00
Aleksandar Ristovski
2cec12e55b PR gdb/2424
* infrun.c (normal_stop) Move breakpoint_auto_delete further down
	to allow printing to 'see' real reason of stop. This fixes PR 2424.
	* breakpoint.c (bpdisp_texst): New function. The function takes over
	the role of bpstats static array in print_one_breakpoint_location.
	(print_it_typical): Print "Temporary breakpoint" instead
	of just "Breakpoint" when breakpoint is, well, temporary. For mi-like
	protocols, print disp field.
	(print_one_breakpoint_location): Removed bpdisps static definition.
	Call new bpstat_text function to get value for 'disp' field.
	(mention): Print "Temporary breakpoint" instead of just "Breakpoint".
2008-04-15 14:32:12 +00:00
Daniel Jacobowitz
4d7b71aacd * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
	by rerunning gnulib-tool with --aux-dir=gnulib/extra.
	* gnulib/Makefile.in: Regenerate.
2008-04-15 12:53:19 +00:00
Daniel Jacobowitz
aa11fd3fc4 * Makefile.in (GNULIB_H): New. Trigger all-lib.
(defs_h): Use $(GNULIB_H).
	(all-lib): Depend on gnulib/Makefile.
	(gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps.
	* config.in, gnulib/Makefile.in: Regenerated.
2008-04-14 19:47:29 +00:00
Daniel Jacobowitz
e28b33320c * Makefile.in (LIBGNU, INCGNU): Define.
(INTERNAL_CFLAGS_BASE): Add INCGNU.
	(INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU.
	(CLEANDIRS): New.
	($(LIBGNU), all-lib): New rules.
	(clean, distclean, do-maintainer-clean): Use CLEANDIRS.
	* configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE.
	Simplify AC_CONFIG_AUX_DIR.  Generate gnulib/Makefile.
	* gnulib: New directory, from gnulib-tool.
	* configure, aclocal.m4: Regenerated.

	* Makefile.in (LIBOBJS): New.
	(OBS): Use LIBOBJS.
	(memmem.o): New rule.
	* configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
	* configure: Regenerated.
2008-04-14 18:04:00 +00:00
Daniel Jacobowitz
e3bc4218fa * linux-thread-db.c (have_threads_callback): Check thread->private. 2008-04-14 14:02:23 +00:00
Vladimir Prus
fcacd99f87 Fix @-varobjs.
* varobj.c (value_of_root): Update the expression for
        floating varobjs.
        * mi/mi-cmd-var.c (varobj_update_one): If type has changed,
        report that.
2008-04-13 09:33:49 +00:00
Marc Khouzam
de051565df gdb/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * mi/mi-cmd-var.c: Include "mi-getopt.h".
        (mi_parse_format): New.  Factored out from mi_cmd_var_set_format.
        (mi_cmd_var_set_format): Use new mi_parse_format.
        (mi_cmd_var_evaluate_expression): Support for -f option to specify
        format.
        * Makefile.in (mi-cmd-var.o): Update dependencies.

        * varobj.h (varobj_get_formatted_value): Declare.
        * varobj.c (my_value_of_variable): Added format parameter.
        (cplus_value_of_variable): Likewise.
        (java_value_of_variable): Likewise.
        (c_value_of_variable): Likewise.  Evaluate expression based
        on format parameter.
        (struct language_specific): Add format parameter to function member
        *value_of_variable.
        (varobj_get_formatted_value): New.
        (varobj_get_value): Added format parameter to method call.

gdb/doc/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * gdb.texinfo (GDB/MI Variable Objects): Add anchor to
        -var-set-format.  Add -f option to -var-evaluate-expression.

gdb/testsuite/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * gdb.mi/mi2-var-display.exp: Added tests for the new -f
        option of -var-evaluate-expression.
        * gdb.mi/mi2-var-display.exp: Likewise.
2008-04-09 13:29:55 +00:00
Joel Brobecker
56953f802d * stabsread.c (cleanup_undefined_types_noname): Manually set the
instance flags of the undefined type before calling replace_type.
2008-04-08 22:09:20 +00:00
Vladimir Prus
e4e33b9e9b * target.h (enum strata): Remove the download_stratum. 2008-04-08 16:58:35 +00:00
Doug Evans
92b5c26399 * buildsym.h (last_source_file): Add dwarf info to comment.
(last_source_start_addr): Ditto.
2008-04-07 19:29:55 +00:00
Pedro Alves
effa26a936 * alphanbsd-tdep.c: Include "target.h".
* mn10300-tdep.c: Include "target.h".
	* Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update.
2008-04-07 11:45:58 +00:00
Vladimir Prus
2b2d9e11a0 Fix breakpoint condition that use member variables.
* valops.c (check_field): Remove.
        (check_field_in): Rename to check_field.
        (value_of_this): Use la_name_of_this.
        * value.h (check_field): Adjust prototype.

        * language.h (la_value_of_this): Rename to la_name_of_this.
        * language.c (unknown_language_defn): Specify "this" for
        name_of_this.
        (auto_language_defn): Likewise.
        (local_language_defn): Likewise.
        * ada-lang.c (ada_language_defn): Adjust comment.
        * c-lang.c (c_language_defn): Adjust comment.
        (cplus_language_defn): Specify "this" for name_of_this.
        (asm_language_defn): Adjust comment.
        (minimal_language_defn): Adjust comment.
        * f-lang.c (f_language_defn): Specify NULL for name_of_this.
        * jv-lang.c (java_language_defn): Specify "this" for name_of_this.
        * m2-lang.c (m2_language_defn): Specify "this" for name_of_this.
        * objc-lang.c (objc_language_defn): Specify "self" for
        name_of_this.
        * p-lang.c (pascal_language_defn): Specify "this" for
        name_of_this.
        * scm-lang.c (scm_language_defn): Specify NULL for name_of_this.

        * symtab.c (lookup_symbol_aux): Lookup "this" in the
        proper scope, and check for field in type of "this", without
        trying to create a value.
2008-04-06 08:56:37 +00:00
Pedro Alves
a13e061a1b gdb/
2008-04-04  Pedro Alves  <pedro@codesourcery.com>

	* mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
	(mi_error_message): Delete declaration.
	* mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
	returning MI_CMD_ERROR.
	* mi/mi-main.c (mi_error_message): Delete.
	(mi_cmd_exec_interrupt):
	(mi_cmd_thread_select, mi_cmd_thread_list_ids)
	(mi_cmd_thread_info): Call error instead of returning
	MI_CMD_ERROR.
	(mi_cmd_data_list_register_values): Call error instead of
	returning MI_CMD_ERROR.  Adapt to new get_register interface.
	(get_register): Change return typo to void.  Call error instead of
	returning MI_CMD_ERROR.
	(mi_cmd_data_write_register_values): Call error instead of
	returning MI_CMD_ERROR.
	(mi_cmd_list_features): Return MI_CMD_DONE.
	(captured_mi_execute_command): Remove MI_CMD_ERROR handling.
	(mi_execute_command): Always print exceptions with -error.

gdb/testsuite/
2008-04-04  Pedro Alves  <pedro@codesourcery.com>

	* gdb.mi/mi-disassemble.exp, gdb.mi/mi-stack.exp,
	gdb.mi/mi-syn-frame.exp, gdb.mi/mi-var-block.exp,
	gdb.mi/mi-var-cmd.exp, gdb.mi/mi-var-display.exp,
	gdb.mi/mi2-disassemble.exp, gdb.mi/mi2-stack.exp,
	gdb.mi/mi2-syn-frame.exp, gdb.mi/mi2-var-block.exp,
	gdb.mi/mi2-var-cmd.exp, gdb.mi/mi2-var-display.exp: Update to not
	expect an mi error duplicated in stderr.
2008-04-04 21:59:25 +00:00
Joel Brobecker
aad4b0482f * NEWS: Mention new commands set/show multiple-symbols. 2008-04-04 15:51:15 +00:00
Joel Brobecker
717d2f5a05 * symtab.c (multiple_symbols_ask, multiple_symbols_all)
(multiple_symbols_cancel): New constants.
        (multiple_symbols_modes, multiple_symbols_mode): New static globals.
        (multiple_symbols_select_mode): New function.
        (_initialize_symtab): Add new set/show multiple-symbols commands.
        * symtab.h (multiple_symbols_ask, multiple_symbols_all)
        (multiple_symbols_cancel, multiple_symbols_select_mode): Declare.
        * ada-lang.c (user_select_syms): Add handling of new multiple-symbols
        setting.
        * linespec.c (decode_line_2): Likewise.
2008-04-03 21:39:16 +00:00
Doug Evans
f73634e546 * symtab.h (enum free_code): Delete free_contents, unused.
* symmisc.c (free_symtab_block): Delete.
	(free_symtab, case free_code): Delete.
2008-04-03 18:19:16 +00:00
Aleksandar Ristovski
6af87b0348 * valops.c (value_cast_structs): New function. Cast related
STRUCT types up/down and return cast value. The body of this
	function comes mostly from value_cast_pointers.
	(value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
	to value_cast_structs. Now value_cast_pointers needs only create
	appropriate reference after using value_cast_structs for actual
	casting.
	(value_cast): Handle references.
2008-04-01 16:12:49 +00:00
Marc Khouzam
61ad90e1f5 2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
* MAINTAINERS: Added myself to section Write After Approval.
2008-04-01 15:15:07 +00:00
Daniel Jacobowitz
b7d038ae9f * ia64-tdep.c (examine_prologue): Correct array access. 2008-03-31 03:38:48 +00:00
Aleksandar Ristovski
c836824f38 * cp-support.c (first_component_command): Return if no arguments. 2008-03-28 19:52:23 +00:00
Carlos O'Donell
df3ac60635 gdb/
2008-03-28  Carlos O'Donell  <carlos@codesourcery.com>

	* ser-mingw.c (ser_windows_open): Open requested name.
2008-03-28 17:30:45 +00:00
Aleksandar Ristovski
ca9334856c 2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
* MAINTAINERS: Added myself.
2008-03-28 16:43:14 +00:00
Pedro Alves
5f667f2da0 * target.c (find_default_run_target): Allow a NULL `do_mesg'
parameter.  If it is NULL, don't call error.
	(find_default_can_async_p, find_default_is_async_p): Pass NULL as
	`do_mesg' parameter to find_default_run_target.  If no target was
	found, return 0.
2008-03-28 16:37:08 +00:00
Daniel Jacobowitz
e741f4d4e4 * mips-linux-tdep.c: Update N32/N64 signal frame comments.
(N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
	(N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
	Delete.
	(mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
2008-03-28 14:53:53 +00:00
gdbadmin
f66d820539 GDB 6.8 released. 2008-03-27 19:37:04 +00:00
Ulrich Weigand
221c031fac ChangeLog:
* features/Makefile (%.dat): Set xmltarget to the base filename
	of the XML source, without subdirectory.
	* regformats/rs6000/powerpc-32.dat: Regenerate.
	* regformats/rs6000/powerpc-64.dat: Regenerate.
	* regformats/rs6000/powerpc-e500.dat: Regenerate.

gdbserver/ChangeLog:

	* server.c (get_features_xml): Fix inverted condition.
	(handle_query): Always support qXfer:feature:read.
2008-03-27 13:11:52 +00:00
Markus Deuling
40c58d9579 * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
objfile arch.
2008-03-27 12:28:48 +00:00
Nick Roberts
bb1ec7d204 *** empty log message *** 2008-03-27 03:45:01 +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
Vladimir Prus
5a413362ba * varobj.h (varobj_floating_p): Declare.
* varobj.c (varobj_floating_p): New.
	* mi/mi-cmd-var.c (mi_cmd_var_update): When passed
	'@' as the name, update all floating varobjs.
2008-03-26 14:51:28 +00:00
Vladimir Prus
a5defcdc21 * varobj.c (struct varobj_root): Rename use_selected_frame to
floating, and clarify the meaning.
	(varobj_create, varobj_update,  new_root_variable): Adjust.
	(value_of_root): Don't use type_changed as in variable,
	adjust comment.
	(c_value_of_root): Adjust.
2008-03-26 14:11:18 +00:00
Pedro Alves
403fe1979f * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
gdb's thread list.
	(linux_nat_wait): Add main lwp to gdb's thread list.
	* linux-thread-db.c (find_new_threads_callback): Also attach to
	already listed threads which thread_db didn't know about yet.
2008-03-25 12:26:21 +00:00
Pedro Alves
710151dda5 2008-03-25 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (drain_queued_events): Fix comment typo.
	(linux_nat_attach): In async mode, don't rely on storing a pending
	status.  Instead place the wait status on the pipe.
	(linux_nat_resume): Remove unreacheable shortcut code in async
	mode.
	(stop_wait_callback): In async mode, don't store pending status.
	Instead, cancel breakpoints or resend the signal appropriatelly.
	(cancel_breakpoint): New, refactored from
	cancel_breakpoints_callback.
	(cancel_breakpoints_callback): Call cancel_breakpoint.
	(pipe_to_local_event_queue): Remove special token processing.
	(linux_nat_wait): Issue an internal error if a pending status is
	found in async mode.
2008-03-25 12:20:10 +00:00
Daniel Jacobowitz
807bddf3a9 * inflow.c (gdb_has_a_terminal): Guard access to our_process_group. 2008-03-24 18:10:00 +00:00
Vladimir Prus
c5b48eacfa * varobj.c (struct varobj_root): New component thread_id.
(varobj_get_thread_id, check_scope): New functions.
        (c_value_of_root): Use check_scope.  Switch to the
	proper thread if necessary.

        * varobj.h (varobj_get_thread_id): New extern.

        * mi/mi-cmd-var.c (print_varobj): Add thread-id field.
2008-03-24 17:33:30 +00:00
Daniel Jacobowitz
12f4afab79 Revert 2008-03-21 changes. 2008-03-23 17:29:34 +00:00
Vladimir Prus
6208b47d6c * thread.c (make_cleanup_restore_current_thread): Make it
globally visible.
	* gdbthread.h (make_cleanup_restore_current_thread): Declare.
	* varobj.c (varobj_update): Don't save/restore frame.
	(c_value_of_root): Save/restore thread and frame here,
	using make_cleanup_restore_current_thread.
	* Makefile.in: Update dependecies.
2008-03-23 09:53:52 +00:00
Vladimir Prus
44a67aa79a * varobj.c (struct varobj_root): Clarify
comment on the frame field.
        (varobj_create): Don't set frame if we have no
        block.
2008-03-23 08:59:19 +00:00
Daniel Jacobowitz
b562a0cb2a PR gdb/544
Suggested by Jan Kratochvil:
	* top.c (gdb_rl_operate_and_get_next_completion): Call
	rl_redisplay_function.
	(gdb_rl_redisplay): New.
	(init_main): Set rl_redisplay_function.

	* gdb.cp/annota2.exp, gdb.cp/annota3.exp: Remove KFAIL for
	fixed PR gdb/544.
2008-03-21 21:44:30 +00:00
Joel Brobecker
ed1bd5f57f * aix-thread.c (pdc_read_regs): Fix compiler warning.
(pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread)
        (store_regs_kernel_thread): Likewise.
2008-03-21 20:06:58 +00:00
Pedro Alves
b84876c212 gdb/
* target.h (struct target_ops): Delete to_async_mask_value and add
	to_async_mask.
	(target_is_async_p, target_async): Formatting.
	(target_async_mask_value): Delete.
	(target_async_mask): Delete function declaration, and add new
	target macro with the same name.

	* target.c (update_current_target): Replace to_async_mask_value by
	to_async_mask.  Default to_async_mask to return_one.
	(target_async_mask): Delete.
	(find_default_can_async_p, find_default_is_async_p): New.
	(init_dummy_target): register find_default_can_async_p and
	find_default_is_async_p on the dummy target.

	* linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
	(debug_linux_nat_async): New global.
	(show_debug_linux_nat_async): New function.
	(linux_nat_async_enabled, linux_nat_async_mask_value)
	(linux_nat_event_pipe, linux_nat_num_queued_events)
	(linux_nat_async_events_enabled): New globals.
	(struct waitpid_result): New struct.
	(waitpid_queue): New global.
	(queued_waitpid, push_waitpid, drain_queued_events): New.
	(my_waitpid): Call queued_waitpid.
	(linux_child_follow_fork): Disable async events during the call.
	(blocked_mask): Delete.
	(sync_sigchld_action, async_sigchld_action): New globals.
	(lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD.  In
	async mode, block events during the call.
	(linux_nat_create_inferior): New.
	(linux_nat_attach): In sync mode, restore the mask states.  In
	async mode, wake the event loop immediatelly.
	(detach_callback): Drain all queued events of the lwp we're
	detaching from.
	(linux_nat_detach): Block async mode, and drain events of the main
	process.
	(linux_nat_resume): If in async mode, mask async events during the
	call.  If short circuiting, force event loop to wake up.  If
	resuming, set target_executing, and register target events in the
	event loop.
	(pipe_to_local_event_queue, local_event_queue_to_pipe): New.
	(linux_nat_wait): In async mode, block events during the call.
	Only enable/disable passing SIGINT to the inferior in sync mode.
	Get events from local waitpid queue.  If no interesting events was
	found, return to events loop.  Reregister target events in the
	event loop on exit.  In sync mode, no need to reblock SIGCHLD.
	(linux_nat_kill): Disable events on entry.
	(linux_nat_mourn_inferior): In sync mode, don't restore the masks
	here.  Detach async mode from the event loop if there are no more
	forks available, otherwise leave it on.
	(sigchld_handler): Assure this is called only in sync mode.
	(linux_async_permitted, linux_async_permitted_1): New globals.
	(set_maintenance_linux_async_permitted)
	(show_maintenance_linux_async_permitted): New functions.
	(linux_nat_is_async_p, linux_nat_can_async_p)
	(linux_nat_async_mask): New.
	(linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
	(get_pending_events, async_sigchld_handler): New.
	(linux_nat_async_events): New.
	(async_terminal_is_ours): New global.
	(linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
	(async_client_callback, async_client_context): New.
	(linux_nat_async_file_handler, linux_nat_async)
	(linux_nat_disable_async, linux_nat_enable_async): New.
	(linux_nat_add_target): Register linux_nat_create_inferior,
	linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
	linux_nat_async_mask, linux_nat_terminal_inferior and
	linux_nat_terminal_ours.
	(_initialize_linux_nat): Remove local action variable, and update
	code that used it to use sync_sigchld_action.  Add new
	"lin-lwp-async" debug set/show command.  Put the "lin-lwp" debug
	set/show command in the maintenance class.  Add new "linux-async"
	maintenance set/show command.  Block SIGCHLD by default.  Setup
	async_sichld_action, and sync_sigchld_action.  Install the default
	async mode.
	(lin_thread_get_thread_signals): Use a local sigset_t for blocking
	the cancel signals.

	* linux-thread-db.c (re_check_for_thread_db): New.
	(clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
	(thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
	(thread_db_async_mask): New.
	(init_thread_db_ops): Register thread_db_can_async_p,
	thread_db_is_async_p, thread_db_async and thread_db_async_mask.

	* remote.c (remote_async_mask_value): New.
	(remote_return_zero): New.
	(init_remote_ops): Register remote_return_zero as callbacks of
	to_can_async_p and to_is_async_p.
	(remote_can_async_p, remote_is_async_p, remote_async): Update to
	use remote_async_mask_value.
	(remote_async_mask): New.
	(init_remote_async_ops): Remove to_async_mask_value setting and
	register remote_async_mask as to_async_mask callback in
	remote_async_ops.

	* Makefile.in (linux-nat.o): Update.

gdb/doc/
	* gdb.texinfo (Debugging Output): Document
	"set/show debug lin-lwp-async".
	(Maintenance Commands): Document "maint set/show linux-async".
2008-03-21 17:09:35 +00:00
Daniel Jacobowitz
17faa917e0 2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
* gdbthread.h (add_thread_with_info): New.
	* linux-thread-db.c: Add some documentation.
	(GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
	(struct private_thread_info): Remove th_valid and ti_valid.
	Replace ti with tid.
	(thread_get_info_callback): Do not add TID to the new ptid.  Do
	not cache th or ti.
	(thread_db_map_id2thr, lwp_from_thread): Delete functions.
	(thread_from_lwp): Assert that the LWP is set.  Do not add TID to the
	new PTID.
	(attach_thread): Handle an already-existing thread.  Use
	add_thread_with_info.  Cache the th and tid.
	(detach_thread): Verify that private was set.  Remove verbose
	argument and printing.  Update caller.
	(thread_db_detach): Do not adjust inferior_ptid.
	(clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
	(check_event, find_new_threads_callback): Do not add TID to the new PTID.
	(thread_db_wait): Do not use lwp_from_thread.
	(thread_db_pid_to_str): Use the cached TID.
	(thread_db_extra_thread_info): Check that private is set.
	(same_ptid_callback): Delete.
	(thread_db_get_thread_local_address): Do not use it or check
	is_thread.  Check that private is set.  Assume that the thread
	handle is already cached.
	(init_thread_db_ops): Remove to_resume and to_kill.
	* thread.c (add_thread_with_info): New.
	(add_thread): Use it.
	* linux-nat.c (find_thread_from_lwp): Delete.
	(exit_lwp): Do not use it.  Check print_thread_events.  Print before
	deleting the thread.
	(GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
	* linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
	* inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
	printf_unfiltered for thread exits.
	* procfs.c (procfs_wait): Likewise.

2008-03-21  Pedro Alves  <pedro@codesourcery.com>

	* gdb.threads/fork-child-threads.exp: Test next over fork.
2008-03-21 15:44:53 +00:00
Daniel Jacobowitz
6214f497d3 2008-03-21 Chris Demetriou <cgd@google.com>
* symtab.c (rbreak_command): Quote symbol name before passing
	it to break_command.

	* gdb.base/break.exp (rbreak junk): New test for rbreak
	"Junk at end of arguments" issue.
2008-03-21 15:33:11 +00:00
Daniel Jacobowitz
6309237547 * eval.c (evaluate_subexp_for_address): Clarify error message.
Use value_must_coerce_to_target.
	* infcall.c (value_arg_coerce): Call value_coerce_to_target.
	* valops.c (value_assign): Call value_coerce_to_target when
	assigning to anything but internalvars.  Leave GDB-side arrays
	as arrays when assigning to internalvars.
	(value_must_coerce_to_target, value_coerce_to_target): New.
	(value_coerce_array, value_addr): Call value_coerce_to_target.
	(value_array): Create the array in GDB's memory instead of
	the inferior's.
	* value.h (value_must_coerce_to_target, value_coerce_to_target):
	Declare.

	* gdb.texinfo (Expressions): Update description of malloced arrays.

	* gdb.base/printcmds.exp (test_print_array_constants): Do not expect
	*& to work on created array elements.
	(Top level): Test print $pc with a file.  Test string operations
	without a target.
	* gdb.base/ptype.exp: Do not expect *& to work on created array
	elements.
2008-03-21 15:02:38 +00:00
Daniel Jacobowitz
b21991b00c * top.c (quit_confirm): Warn that we will kill the program.
* gdb.threads/killed.exp, gdb.threads/manythreads.exp,
	gdb.threads/staticthreads.exp: Update exit query.
2008-03-21 14:39:23 +00:00
Pedro Alves
49a834f99f * inflow.c (terminal_ours_1): Guard access to
inferior_process_group with #ifdef PROCESS_GROUP_TYPE.
2008-03-19 14:54:05 +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
Markus Deuling
1c8201d1f1 * i386-tdep.c (i386_print_insn): Remove unnecessary call to
gdbarch_bfd_arch_info.
2008-03-17 19:32:56 +00:00
Joel Brobecker
46bba1eff5 * aix-thread.c (pdc_read_regs): Minor reformatting. 2008-03-17 19:00:31 +00:00
Vladimir Prus
0bcd3e2056 * thread.c (print_thread_info): Don't insist
on having current thread if there are no
    threads at all.
2008-03-17 18:41:29 +00:00
Pedro Alves
9356cf8d06 * infcmd.c (attach_command_post_wait)
(attach_command_continuation): New.
	(attach_command): Support background async execution, and async
	execution in synchronous mode.
2008-03-17 17:30:29 +00:00
Daniel Jacobowitz
5c3ce3f7ab * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR.
* symmisc.c (dump_symtab_1): Likewise.
	* wrapper.c (gdb_value_struct_elt): Likewise.
2008-03-17 15:05:42 +00:00
Pedro Alves
fa2c6a57ca * linux-nat.c (linux_nat_filter_event): Fix comment typo. 2008-03-17 14:54:07 +00:00
Pedro Alves
02f3fc280a * linux-nat.c (linux_nat_filter_event): New, refactored from
linux_nat_wait.
	(linux_nat_wait): Call linux_nat_filter_event.
2008-03-17 14:49:06 +00:00
Ulrich Weigand
2f77b315eb * top.c (execute_command): Fix uninitialized variable error. 2008-03-17 14:06:11 +00:00
Nick Hudson
f01be29bbc * Makefile.in (amd64nbsd-nat.o): New dependency.
* amd64nbsd-nat.c: Include "nbsd-nat.h".
        (_initialize_amd64nbsd_nat): Update target vector to use
        nbsd_pid_to_exec_file.
        * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o.
2008-03-16 08:50:43 +00:00
Vladimir Prus
6cf327044d Remove ignoring leading exec events code.
* fork-child.c (startup_inferior): Do not set
        inferior_ignoring_leading_exec_events.
        * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove.
        (inf_child_target): Do not set to_reported_exec_events_per_exec_call.
        * infrun.c (inferior_ignoring_leading_exec_events): Remove.
        (handle_inferior_event): Remove code for ignoring leading exec
        events.
        * target.c (update_current_target): Do not inherit, or default,
        to_reported_exec_events_per_exec_call.
        (debug_to_reported_exec_events_per_exec_call): Remove.
        (setup_target_debug): Do not set to_reported_exec_events_per_exec_call.
        * target.h (target_reported_exec_events_per_exec_call): Remove.
        (struct target): Remove the to_reported_exec_events_per_exec_call
        field.
2008-03-15 14:55:21 +00:00
Vladimir Prus
8e8901c5c2 Implement -thread-info.
* gdbthread.h (print_thread_info): Declare.

        * thread.c (print_thread_info): New, extracted
        from info_threads_command and adjusted to
        work for CLI and MI.
        (info_threads_command): Use print_thread_info.
	* Makefile.in: Update dependencies.

        * mi/mi-cmds.c (mi_cmds): Specify a handler
        for -thread-info.
        * mi/mi-cmds.h (mi_cmd_thread_info): Declare.
        * mi/mi-main.c (mi_cmd_thread_info): New.
        (mi_cmd_list_features): Include 'thread-info'.
2008-03-15 13:53:25 +00:00
Kevin Buettner
7d1e6fb863 * mips-tdep.c (mips32_scan_prologue): Use the ABI register size
to decide whether to match instruction patterns using "sw" and "sd".
2008-03-15 00:00:48 +00:00
Pedro Alves
89113898fa * infcmd.c (jump_command): Postpone disabling stdin until after
the possible query.
2008-03-14 23:24:53 +00:00
Pedro Alves
64a0ac840e * inflow.c (gdb_getpgrp): New.
(gdb_has_a_terminal): Use get_getpgrp.
	(terminal_ours_1): If attach_flag is set, don't refetch
	inferior_process_group.
2008-03-14 22:58:58 +00:00
Pedro Alves
1fddbabb01 * features/library-list.dtd: Allow "section" elements as children
of "library".  Add "section" element and describe its attributes.

	* solib-target.c (struct lm_info): Add section_bases member.
	(library_list_start_segment): Error out if seen a section element.
	(library_list_start_section): New.
	(library_list_end_library): New.
	(solib_target_free_library_list): Free section_bases.
	(section_attributes): New.
	(library_children): Make "segment" optional.  Add "section" child.
	(library_list_children): Register library_list_end_library.
	(solib_target_relocate_section_addresses): Handle section bases.

	* NEWS: Mention new qXfer:libraries:read section offsets support.

doc/
	* gdb.texinfo (Library List Format): Update to mention the
	possibility to pass section addresses instead of segment
	addresses.
2008-03-14 22:30:07 +00:00