Commit graph

16611 commits

Author SHA1 Message Date
Jan Kratochvil
1276c7599c gdb/
* symfile.c (addr_section_name): New function.
	(addrs_section_compar): Use it.
	(addr_info_make_relative): Use it.  Move variable sect_name into a more
	inner block.  Make ".dynbss" and ".sdynbss" checks more strict.

gdb/testsuite/
	* gdb.base/prelink-lib.c (copyreloc): New initialized variable.
	* gdb.base/prelink.c (copyreloc, bssvar, bssvarp): New variables.
	(main): Use copyreloc.
	* gdb.base/prelink.exp (split debug of executable)
	(.dynbss vs. .bss address shift): New tests.
2010-07-30 16:04:30 +00:00
Tom Tromey
420697bb59 * configure: Rebuild.
* configure.ac: Add missing case for Python 2.7.
2010-07-30 15:59:41 +00:00
DJ Delorie
d0d995612d * rx-tdep.c (rx_analyze_prologue): Don't require branches to have
conditions.
2010-07-29 17:35:34 +00:00
Pedro Alves
0b29bddec8 * PROBLEMS: Remove mention of all problems. 2010-07-29 14:48:58 +00:00
Pedro Alves
110ed33992 2010-07-28 Pedro Alves <pedro@codesourcery.com>
PR build/11848
	* configure.ac: Check for wresize.
	* configure, config.in: Regenerate.
	* tui/tui-win.c (make_visible_with_new_height): Wrap wresize call
	with HAVE_WRESIZE.
2010-07-28 23:24:57 +00:00
Tom Tromey
326fd672ca gdb
PR python/11060:
	* python/py-type.c (typy_legacy_template_argument): New function,
	extracted from typy_template_argument.
	(typy_template_argument): Use TYPE_TEMPLATE_ARGUMENT.  Return a
	value when needed.
gdb/testsuite
	PR python/11060:
	* gdb.python/py-type.c (Temargs): New template.
	(temvar): New variable.
	* gdb.python/py-type.exp (test_template): New proc.
2010-07-28 20:50:17 +00:00
Tom Tromey
4ac8c4da1d 2010-07-28 Oleg Nesterov <oleg@redhat.com>
* remote.c (readchar): Call pop_target in case of SERIAL_ERROR.
2010-07-28 20:20:26 +00:00
Tom Tromey
053315c213 * dwarf2read.c (dwarf2_const_value_data): Never sign extend. 2010-07-28 20:05:03 +00:00
Pedro Alves
3ce3b1ba31 2010-07-28 Daniel Jacobowitz <dan@codesourcery.com>
gdb/
	* dwarf2read.c (read_subroutine_type): Improve THIS detection,
	handling DW_AT_object_pointer, and workaround GCC PR 43053.

	gdb/testsuite/
	* gdb.cp/member-ptr.exp, gdb.cp/printmethod.exp,
	gdb.dwarf2/member-ptr-forwardref.exp: Adjust.
2010-07-28 19:04:08 +00:00
Tom Tromey
2bb4f988e5 * Makefile.in (HFILES_NO_SRCDIR): Remove link-warning.h. 2010-07-28 18:32:33 +00:00
Joel Brobecker
74232302aa Add missing gettext markup.
gdb/ChangeLog:

        * remote.c (remote_download_tracepoint): Add missing gettext markup.
        * tracepoint.c (parse_static_tracepoint_marker_definition): Likewise.
2010-07-28 18:04:19 +00:00
Joel Brobecker
385d04dc77 [PATCH] breakpoint_re_set fails while connecting to gdbserver.
This is a problem that I noticed on GNU/Linux, when using both GDB
and GDBserver to debug an Ada program.  To reproduce, use any Ada
program, built with debug info ("gnatmake -g ...").

Then start the program with gdbserver:

        % gdbserver :4444 simple_main

And then insert a breakpoint using the name of an Ada function,
followed by connecting to the target server:

        (gdb) b simple.test_simple
        Breakpoint 1 at 0x401f28: file simple.adb, line 16.
        (gdb) tar rem :4444
        Remote debugging using :4444
        Reading symbols from /lib64/ld-linux-x86-64.so.2...
        Reading symbols from /usr/lib/debug/lib/ld-2.11.1.so...done.
        done.
        Loaded symbols for /lib64/ld-linux-x86-64.so.2
!! ->   Error in re-setting breakpoint 1: Can't find member of namespace, class,
!! ->    struct, or union named "simple.test_simple"
!! ->   Hint: try 'simple.test_simple<TAB> or 'simple.test_simple<ESC-?>
!! ->   (Note leading single quote.)
        0x00007f4db3cf2af0 in _start () from /lib64/ld-linux-x86-64.so.2
        Created trace state variable $trace_timestamp for target's variable 1.

The problem is related to the fact that GDB found debug symbols for
ld.so in /usr/lib/debug.  For debugger configured with a prefix that
is different from /usr, one way to force the problem to reproduce is
to use:

        (gdb) set debug-file-directory /usr/lib/debug

(assuming that debug info has been installed at that location).

The problem is that the wrong language is used to parse the breakpoint
location because it gets changed from under us as a side effect of
some of the code that we do in prepration for re-parsing.  In particular,
breakpoint_re_set_one reads:

      set_language (b->language);
      input_radix = b->input_radix;
      s = b->addr_string;

      save_current_space_and_thread ();
      switch_to_program_space_and_thread (b->pspace);

      marker_spec = b->type == bp_static_tracepoint && is_marker_spec (s);
      [if (marker_spec) decode_tracepoint_spec (...) else decode_line_1]

What happens in our case is that debugging information gets found
for ld.so.  As a result, the current_frame language is C whereas it
would have been unknown if we did not have debugging info. And
save_current_space_and_thread() implicitly causes the current frame
to be selected, which changes the language automatically if the new
language is not uknown and the the language mode is auto.

The fix, until all parsing routines (including decode_line_1) get upgraded
to take a language, is to select the breakpoint language as late as possible.
In this case, we don't need to do that until we actually try to parse
the breakpoint addr_string.

gdb/ChangeLog:

        * breakpoint.c (breakpoint_re_set_one): Move call to set_language
        down, just before the block that parse the breakpoint addr_string.
2010-07-28 17:57:54 +00:00
Tom Tromey
34eaf5422c gdb
PR c++/9946:
	* symfile.c (reread_symbols): Clear template_symbols.
	* symtab.h (struct symbol) <is_cplus_template_function>: New
	field.
	(SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): New macro.
	(struct template_symbol): New.
	* symtab.c (lookup_symbol_aux_local): Use
	cp_lookup_symbol_imports_or_template.
	* objfiles.h (struct objfile) <template_symbols>: New field.
	* objfiles.c (relocate_one_symbol): New function.
	(objfile_relocate1): Use it.  Relocate isolated symbols.
	* gdbtypes.h (struct cplus_struct_type) <n_template_arguments,
	template_arguments>: New fields.
	(TYPE_N_TEMPLATE_ARGUMENTS): New macro.
	(TYPE_TEMPLATE_ARGUMENTS): Likewise.
	(TYPE_TEMPLATE_ARGUMENT): Likewise.
	(lookup_typename): Update.
	* gdbtypes.c (lookup_typename): Constify "block" argument.
	* dwarf2read.c: Include vec.h.
	(symbolp): New typedef.
	(read_func_scope): Read template arguments.  Allocate a
	template_symbol when needed.
	(read_structure_type): Read template arguments.
	(new_symbol_full): New function, from new_symbol.  Handle
	DW_TAG_template_type_param and DW_TAG_template_value_param.
	(new_symbol): Rewrite as wrapper.
	* cp-support.h (cp_lookup_symbol_imports_or_template): Declare.
	* cp-namespace.c: Include language.h.
	(search_symbol_list): New function.
	(cp_lookup_symbol_imports_or_template): Likewise.
gdb/testsuite
	PR c++/9946:
	* gdb.cp/temargs.exp: New file.
	* gdb.cp/temargs.cc: New file.
2010-07-28 16:23:59 +00:00
Pedro Alves
d27b3be477 2010-07-28 Balazs Kezes <rlblaster@gmail.com>
* tui/tui-win.c (make_visible_with_new_height): Resize and move
	the command window to the new size and position.
2010-07-28 12:08:19 +00:00
Pedro Alves
a782f43e86 tabs vs spaces 2010-07-28 12:02:36 +00:00
Pedro Alves
0036e657cb * tui/tui-win.c (tui_resize_all): Update the locator's origin's
coordinates.
2010-07-28 12:01:22 +00:00
Pedro Alves
369003559a 2010-07-28 Balazs Kezes <rlblaster@gmail.com>
* tui/tui-io.c (tui_handle_resize_during_io): Call tui_resize_all
	after a detecting a resize.
        * tui/tui-win.c (tui_resize_all): Remove tui_set_win_resized_to
	call.
2010-07-28 11:56:30 +00:00
Pedro Alves
db5e03ae67 * configure.ac: Check for resize_term.
* configure, config.in: Regenerate.
2010-07-28 11:48:23 +00:00
Joel Brobecker
b71fff680d misordered names in Write After Approval list
This patch moves a couple of write-after-approval names up to keep
the list in alphabetical order.

2010-07-27  Joel Brobecker  <brobecker@adacore.com>

	* MAINTAINERS (Write After Approval): Reorder a couple of entries.
2010-07-28 04:09:04 +00:00
Joel Brobecker
3422f66621 Minor (space) reformatting. 2010-07-28 04:04:17 +00:00
Pedro Alves
9b1c24c8f7 * dwarf2read.c (read_string): Rename to ...
(read_direct_string): ... this.
	(skip_one_die, read_attribute_value, dwarf_decode_line_header)
	(dwarf_decode_lines, dwarf_decode_macros): Adjust.
2010-07-27 22:26:27 +00:00
Jan Kratochvil
00390b8433 gdb/
* linux-nat.c (linux_nat_lp_status_is_event): New function.
	(count_events_callback, select_event_lwp_callback)
	(cancel_breakpoints_callback, linux_nat_wait_1): Use it.
2010-07-27 21:22:09 +00:00
Jan Kratochvil
26ab7092a2 gdb/
* ia64-linux-nat.c (ia64_linux_status_is_event): New function.
	(_initialize_ia64_linux_nat): Install it.
	* linux-nat.c (sigtrap_is_event, linux_nat_status_is_event)
	(linux_nat_set_status_is_event): New.
	(stop_wait_callback, count_events_callback, select_event_lwp_callback)
	cancel_breakpoints_callback, linux_nat_filter_event)
	(linux_nat_wait_1): Use linux_nat_status_is_event.
	* linux-nat.h (linux_nat_set_status_is_event): New prototype.

gdb/testsuite/
	* gdb.threads/ia64-sigill.exp: New file.
	* gdb.threads/ia64-sigill.c: New file.
2010-07-27 20:51:40 +00:00
Tom Tromey
283e6a52fc * NEWS: Mention labels, .gdb_index. 2010-07-27 20:44:33 +00:00
Cheng Renquan
53a71c0681 * cli/cli-cmds.c (disassemble_command): Add support of disassemble
"start,+length" form of arguments.
2010-07-27 20:33:40 +00:00
Jan Kratochvil
c63a1f8688 gdb/
* top.c (input_from_terminal_p): Return 0 on BATCH_FLAG.
	* utils.c (defaulted_query): Do not explicitly check for BATCH_FLAG.
	(fputs_maybe_filtered): Do not do filtering also on
	! INPUT_FROM_TERMINAL_P.
2010-07-27 19:11:51 +00:00
Doug Evans
872e696d08 Fix file name mentioned in this entry:
2010-07-27  Ken Werner  <ken.werner@de.ibm.com>

	* dwarf2read.c (dwarf2_read_index): Initialize the types_list and
	types_list_elements variables.
2010-07-27 18:13:25 +00:00
Joel Brobecker
abebb8b041 ARI fix (trailing newline in warning message).
* dwarf2read.c (dw2_find_pc_sect_symtab): Remove trailing newline
        in warning message.
2010-07-27 16:16:32 +00:00
Phil Muldoon
5374244e7a 2010-07-27 Phil Muldoon <pmuldoon@redhat.com>
* python/py-value.c (valpy_call): New Function.

2010-07-27  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.python/py-value.exp (test_inferior_function_call): New function.
	* gdb.python/py-value.c (func1): New function.
	(func2): Likewise.

2010-07-27  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.texinfo (Values From Inferior): Add value inferior function
	call description.
2010-07-27 12:40:42 +00:00
Ken Werner
ac0b195c01 * valops.c (dwarf2_read_index): Initialize the types_list and types_list_elements variables. 2010-07-27 07:57:49 +00:00
Tom Tromey
09d8bd0068 * dwarf2loc.c (locexpr_describe_location_piece): Also recognize
TLS with DW_OP_const4u or DW_OP_const8u.
2010-07-26 20:25:00 +00:00
Thiago Jung Bauermann
9fe70b4fe2 * ppc-linux-nat.c (store_vsx_register): Use PTRACE_GETVSXREGS to get
VSX registers contents.
2010-07-26 17:06:26 +00:00
Jerome Guitton
caac4577e5 gdb/
* dwarf2read.c (add_partial_symbol): Do not add a global variable if
	its adress is null. Add comment to explain why.
	(new_symbol): Ditto.
2010-07-26 09:30:00 +00:00
Jan Kratochvil
857d11d04f gdb/
* linux-nat.c (linux_nat_do_thread_registers): Convert STOP_SIGNAL to
	the host signal first.
2010-07-25 09:31:12 +00:00
Tom Tromey
1fd400ffc4 * dwarf2read.c (struct dwarf2_per_objfile) <n_type_comp_units,
type_comp_units>: New fields.
	(dw2_get_cu): New function.
	(create_cus_from_index): Remove unused argument.
	(create_signatured_type_hash_from_index): New function.
	(create_addrmap_from_index): Update.
	(dwarf2_read_index): Handle version 2.
	(dw2_find_last_source_symtab, dw2_forget_cached_source_info)
	(dw2_lookup_symtab, dw2_do_expand_symtabs_matching)
	(dw2_print_stats, dw2_expand_all_symtabs)
	(dw2_expand_symtabs_with_filename, dw2_find_symbol_file)
	(dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Update.
	(dwarf2_initialize_objfile): Call create_debug_types_hash_table.
	(allocate_signatured_type_hash_table): New function.
	(add_signatured_type_cu_to_list): Likewise.
	(create_debug_types_hash_table): Use them.  Set type_comp_units.
	(read_signatured_type): Ensure section data is available.
	(add_address_entry): Don't record empty ranges.
	(struct signatured_type_index_data): New.
	(write_one_signatured_type): New function.
	(write_psymtabs_to_index): Write type CUs.
	(save_gdb_index_command): Update comment.
	(process_type_comp_unit): Move inititalization of
	from_debug_types...
	(create_debug_types_hash_table): ... here.
2010-07-23 22:15:13 +00:00
Jan Kratochvil
3a674486ec gdb/
* gdb_gcore.sh (tmpfile): Remove the variable, its initialization,
	cleanup and generating of gdb script to it.
	(gdb): Use redirection from /dev/null.  Use --nx.  Turn off pagination
	and terminal size.  Convert $tmpfile to a series of -ex-es.
2010-07-23 21:10:55 +00:00
Keith Seitz
54ec275af0 * symtab.c (basic_lookup_transparent_type): Call pre-expand
hook for STATIC_BLOCK types, too.
2010-07-23 17:42:13 +00:00
Keith Seitz
8fd447e6d3 * dwarf2read.c: Remove unused typedef dwarf2_cu_per_cu_data_ptr
and vector definition.
2010-07-23 14:43:33 +00:00
Jan Kratochvil
25b72ddee0 gdb/
* linux-nat.c (cancel_breakpoint): Remove unused forward declaration.
2010-07-23 12:19:00 +00:00
Jan Kratochvil
96d19272e8 gdb/
* dwarf2read.c: Include completer.h.
	(save_gdb_index_command): Use matching usage command name.
	(_initialize_dwarf2_read): New variable c, initialize it by add_cmd.
	Set filename_completer for it.
2010-07-22 16:24:38 +00:00
Tom Tromey
ca1f3406ef * dwarf2read.c (create_debug_types_hash_table): Set objfile on
type signature's per-CU data.
2010-07-22 15:53:48 +00:00
Pedro Alves
ba25b92104 * NEWS: Mention target reported shared libraries support by
default.
2010-07-22 10:52:02 +00:00
Pedro Alves
23bd0f7c5e gdb/
2010-07-21  Pedro Alves  <pedro@codesourcery.com>

	PR symtab/11827

	Revert:
	2010-05-21  Pierre Muller  <muller@ics.u-strasbg.fr>
	* dwarf2read.c (process_die): Also allow DW_TAG_const_type
	and DW_TAG_volatile_type.
	(new_symbol): Likewise.

gdb/testsuite/
2010-07-21  Pedro Alves  <pedro@codesourcery.com>

	PR symtab/11827

	* gdb.base/printcmds.c (enum some_volatile_enum): New enum.
	(some_volatile_enum): New variable.
	* gdb.base/printcmds.exp (test_print_enums): New.
	<top level>: Call it.
2010-07-21 18:08:27 +00:00
Sami Wagiaalla
883df6ddea Corrected pre-overload-resolution function evaluation.
2010-07-21  Sami Wagiaalla  <swagiaal@redhat.com>

	* eval.c (evaluate_subexp_standard): Disabled evaluation of C++
	function symbols before overload resolution.

2010-07-21  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/fpointer.cc: New test.
	* gdb.cp/fpointer.exp: New test.
2010-07-21 14:59:05 +00:00
Pedro Alves
269b11a298 * breakpoint.c (bptype_string): New, abstracted out from
print_one_breakpoint_location.
	(print_one_breakpoint_location): Adjust.
	(breakpoint_1): Adjust the type column width dynamically.
2010-07-21 11:25:53 +00:00
Jan Kratochvil
569b05a560 gdb/
* symfile.c (find_separate_debug_file_by_debuglink): Remove
	a gdb_assert call, new comment.

gdb/testsuite/
	* gdb.base/solib-nodir.exp: New file.
	* lib/gdb.exp (runto): New case for a GDB internal error.
2010-07-20 22:19:07 +00:00
Jan Kratochvil
ad34eb2f7c gdb/
* linux-nat.c (linux_handle_extended_wait): Handle case when
	event == PTRACE_EVENT_CLONE && stopping && WSTOPSIG (status) != SIGSTOP.
2010-07-20 12:54:57 +00:00
Jan Kratochvil
33355866db gdb/
Code cleanup.
	* linux-nat.c (linux_nat_wait_1): Reset STATUS after calling
	linux_nat_wait_1.  Use always LP->STATUS afterwards.
2010-07-20 12:33:30 +00:00
Hui Zhu
26590820c2 2010-07-20 Hui Zhu <teawater@gmail.com>
* inf-ptrace.c (inf_ptrace_create_inferior): Initialize back_to.
	(inf_ptrace_attach): Ditto.
2010-07-20 05:58:53 +00:00
Jan Kratochvil
c0edd9edad gdb/
Make core files the process_stratum.
	* corefile.c (core_target): New variable.
	(core_file_command): Remove variable t, use core_target.
	* corelow.c (core_ops): Make it static.
	(init_core_ops): Change to process_stratum.  Initialize CORE_TARGET.
	* defs.h (make_cleanup_unpush_target): New prototype.
	* gdbarch.h: Regenerate.
	* gdbarch.sh (core_pid_to_str): Remove core_stratum from its comment.
	* gdbcore.h (core_target): New declaration.
	* inf-ptrace.c (inf_ptrace_create_inferior, inf_ptrace_attach): New
	variables ops_already_pushed and back_to.  Use push_target,
	make_cleanup_unpush_target and discard_cleanups calls.
	* record.c (record_open): Replace core_stratum by a core_bfd check.
	* target.c (target_is_pushed): New function.
	(find_core_target): Remove.
	* target.h (enum strata) <core_stratum>: Remove.
	(target_is_pushed): New declaration.
	(find_core_target): Remove declaration.
	* tracepoint.c (init_tfile_ops) <to_stratum>: Remove comment.
	* utils.c (do_unpush_target, make_cleanup_unpush_target): New functions.

gdb/doc/
	Make core files the process_stratum.
	* gdb.texinfo (Active Targets): Remove core_stratum.  Include
	record_stratum example.

gdb/testsuite/
	Make core files the process_stratum.
	* gdb.base/corefile.exp (run: load core again)
	(run: sanity check we see the core file, run: with core)
	(run: core file is cleared, attach: load core again)
	(attach: sanity check we see the core file, attach: with core)
	(attach: core file is cleared): New tests.
	* gdb.base/coremaker.c (main): New parameters.  Implement "sleep" argv.
2010-07-19 17:51:25 +00:00