Doug Evans [Sat, 14 Jan 2012 18:04:05 +0000 (18:04 +0000)]
Restore "mt set python print-stack on|off" for 7.4.
* NEWS: Update to indicate "mt set python print-stack" is deprecated,
but not deleted yet, and will be gone in gdb 7.5.
* python/python.c (maint_set_python_list, maint_show_python_list):
New global vars.
(maint_set_python, maint_show_python): New functions.
(gdbpy_should_print_stack_deprecated): New global var.
(set_maint_python_print_stack): New function.
(show_maint_python_print_stack): New function.
(_initialize_python): Define commands
"mt set python print-stack on|off" and ""mt show python print-stack".
Doug Evans [Wed, 11 Jan 2012 19:09:32 +0000 (19:09 +0000)]
* dwarf2read.c (dwarf_decode_lines): Remove arg "abfd". New arg
"want_line_info". All callers updated.
(dwarf_decode_lines_1): New function.
(handle_DW_AT_stmt_list): Add function comment.
New arg "want_line_info". All callers updated.
(read_file_scope,read_type_unit_scope): Move comment from
handle_DW_AT_stmt_list to here.
Joel Brobecker [Fri, 6 Jan 2012 04:18:58 +0000 (04:18 +0000)]
Update the copyright header of various files...
... to follow the correct syntax (according to the gospel of
gnulib's update-copyright). In other words:
- no comma after the last year;
- FSF spelled exactly "Free Software Foundation, Inc.", with
the comma and the period at the end.
sim/common/ChangeLog:
* dv-sockser.h, sim-assert.h, sim-fpu.c: Reformat the copyright
header.
Jan Kratochvil [Thu, 5 Jan 2012 07:57:23 +0000 (07:57 +0000)]
bfd/
Fix zero registers core files when built by gcc-4.7.
* elf64-x86-64.c: Update copyright year.
(elf_x86_64_write_core_note): Remove variables p and size. Call
elfcore_write_note for the local variables. Remove the final
elfcore_write_note call. Add NOTREACHED comments.
Jan Kratochvil [Wed, 4 Jan 2012 17:55:41 +0000 (17:55 +0000)]
gdb/testsuite/
* gdb.python/py-finish-breakpoint.exp: Add `.' prefix for ppc64.
* gdb.python/py-finish-breakpoint2.exp: Skip testcase if python support
is not enabled.
Jan Kratochvil [Wed, 4 Jan 2012 17:51:31 +0000 (17:51 +0000)]
gdb/testsuite/
* gdb.python/py-finish-breakpoint.c (test_exec_exit): Change the
parameter to self_exec, adjust the function.
(main): Check for argv[1] "exit". Use argv[0] for test_exec_exit.
* gdb.python/py-finish-breakpoint.exp (set var self_exec = 0): New test.
(set var do_exit = 0): Remove test.
(newline at end of file): Add one.
Jan Kratochvil [Wed, 4 Jan 2012 13:55:41 +0000 (13:55 +0000)]
gdb/
Revert:
2012-01-02 Jan Kratochvil <jan.kratochvil@redhat.com>
Joel Brobecker <brobecker@adacore.com>
Fix regression for gdb.cp/gdb2495.exp with gcc-4.7.
* arch-utils.c (displaced_step_at_entry_point): Incrase BP_LEN skip to
3 times.
* infcall.c (call_function_by_hand) <AT_SYMBOL>: Move it upwards and
fall through into AT_ENTRY_POINT.
(call_function_by_hand) <AT_ENTRY_POINT>: New variable bp_len. Adjust
DUMMY_ADDR with it.
* ppc-linux-tdep.c (ppc_linux_displaced_step_location): Increase
PPC_INSN_SIZE skip to 3 times.
Joel Brobecker [Wed, 4 Jan 2012 13:23:50 +0000 (13:23 +0000)]
linespec: keep function descriptors during minimal symbol search
When discarding data (minimal) symbols, we need to be careful to
not throw away the function descriptors. This makes a difference
on platforms where these descriptors are used and live in a data
section.
gdb/ChangeLog:
* linespec.c (add_minsym): Preserve function descriptors.
Joel Brobecker [Wed, 4 Jan 2012 13:23:10 +0000 (13:23 +0000)]
Ignore data minimal symbols for breakpoint linespecs
gdb/ChangeLog:
* linespec.c (struct collect_minsyms) [list_mode]: New field.
(add_minsym): Ignore data symbols if not in list mode.
(search_minsyms_for_name): Set local.list_mode.
gdb/testsuite/ChangeLog:
* gdb.base/dmsym.c, gdb.base/dmsym_main.c, gdb.base/dmsym.exp:
New files.
nobody [Wed, 4 Jan 2012 08:17:57 +0000 (08:17 +0000)]
This commit was manufactured by cvs2svn to create branch 'gdb_7_4-branch'.
Cherrypick from master 2012-01-04 08:17:56 UTC Joel Brobecker <brobecker@gnat.com> 'Copyright year update in most files of the GDB Project.':
gdb/testsuite/gdb.base/dmsym.c
gdb/testsuite/gdb.base/dmsym.exp
gdb/testsuite/gdb.base/dmsym_main.c
Ulrich Weigand [Mon, 2 Jan 2012 18:05:31 +0000 (18:05 +0000)]
* gdb.cell/fork.exp: Delete breakpoints after reaching main.
* gdb.cell/gcore.exp: Likewise.
* gdb.cell/solib-symbol.exp: Use "info symbol" instead of "break"
to verify the correct instance of main is selected.
Jan Kratochvil [Mon, 2 Jan 2012 02:53:34 +0000 (02:53 +0000)]
gdb/
Fix regression for gdb.cp/gdb2495.exp with gcc-4.7.
* arch-utils.c (displaced_step_at_entry_point): Incrase BP_LEN skip to
3 times.
* infcall.c (call_function_by_hand) <AT_SYMBOL>: Move it upwards and
fall through into AT_ENTRY_POINT.
(call_function_by_hand) <AT_ENTRY_POINT>: New variable bp_len. Adjust
DUMMY_ADDR with it.
* ppc-linux-tdep.c (ppc_linux_displaced_step_location): Increase
PPC_INSN_SIZE skip to 3 times.
Kevin Pouget [Fri, 23 Dec 2011 17:55:23 +0000 (17:55 +0000)]
Introduce gdb.FinishBreakpoint in Python
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-finishbreakpoint.o.
(SUBDIR_PYTHON_SRCS): Add python/py-finishbreakpoint.c.
Add build rule for this file.
* infcmd.c (print_return_value): Split to create get_return_value.
(get_return_value): New function based on print_return_value. Handle
case where stop_registers are not set.
* inferior.h (get_return_value): New prototype.
* python/py-breakpoint.c (bppy_pending_object): Make non-static.
(gdbpy_breakpoint_created): Set is_py_finish_bp is necessary.
(struct breakpoint_object): Move to python-internal.h
(BPPY_REQUIRE_VALID): Likewise.
(BPPY_SET_REQUIRE_VALID): Likewise.
(gdbpy_breakpoint_created): Initialize is_finish_bp.
(gdbpy_should_stop): Add pre/post hooks before/after calling stop
method.
* python/python-internal.h (breakpoint_object_type): Add as extern.
(bppy_pending_object): Likewise.
(typedef struct breakpoint_object) Removed.
(struct breakpoint_object): Moved from py-breakpoint.c.
Add field is_finish_bp.
(BPPY_REQUIRE_VALID): Moved from py-breakpoint.c.
(BPPY_SET_REQUIRE_VALID): Likewise.
(frame_object_to_frame_info): New prototype.
(gdbpy_initialize_finishbreakpoints): New prototype.
(bpfinishpy_is_finish_bp): Likewise.
(bpfinishpy_pre_stop_hook): Likewise.
(bpfinishpy_post_stop_hook): Likewise.
* python/py-finishbreakpoint.c: New file.
* python/py-frame.c(frame_object_to_frame_info): Make non-static and
accept PyObject instead of frame_object.
(frapy_is_valid): Don't cast to frame_object.
(frapy_name): Likewise.
(frapy_type): Likewise.
(frapy_unwind_stop_reason): Likewise.
(frapy_pc): Likewise.
(frapy_block): Likewise.
(frapy_function): Likewise.
(frapy_older): Likewise.
(frapy_newer): Likewise.
(frapy_find_sal): Likewise.
(frapy_read_var): Likewise.
(frapy_select): Likewise.
* python/python.c (gdbpy_is_stopped_at_finish_bp): New noop function.
(_initialize_python): Add gdbpy_initialize_finishbreakpoints.
* python/python.h: Include breakpoint.h
(gdbpy_is_stopped_at_finish_bp): New prototype.
doc/
* gdb.texinfo (Finish Breakpoints in Python): New subsection.
(Python API): Add menu entry for Finish Breakpoints.
testsuite/
* Makefile.in (EXECUTABLES): Add py-finish-breakpoint and
py-finish-breakpoint2
(MISCALLANEOUS): Add py-events-shlib.so and py-events-shlib-nodebug.so
* gdb.python/py-breakpoint.exp (mult_line): Define and use variable
instead of line number.
* gdb.python/py-finish-breakpoint.c: New file.
* gdb.python/py-finish-breakpoint.exp: New file.
* gdb.python/py-finish-breakpoint.py: New file.
* gdb.python/py-finish-breakpoint2.cc: New file.
* gdb.python/py-finish-breakpoint2.exp: New file.
* gdb.python/py-finish-breakpoint2.py: New file.
Jan Kratochvil [Mon, 19 Dec 2011 22:28:22 +0000 (22:28 +0000)]
gdb/
* symfile.c (reread_symbols): Move free_objfile_separate_debug,
preserve_values, sym_finish and clear_objfile_data calls before BFD
close. Move free_objfile_separate_debug as the very first call. New
comment on the ordering.
gdb/testsuite/
* gdb.base/reread.exp: If srcfile2 fails to build retry it with
-DNO_SECTIONS.
* gdb.base/reread2.c <!NO_SECTIONS>: New sections block.
Joel Brobecker [Mon, 19 Dec 2011 04:58:15 +0000 (04:58 +0000)]
Work around Solaris bourne shell limitation when building the sim
Building the sim on a sparc-solaris 2.8 machine fails when configured
with no extra sim hardware:
> for hw in ; do \
> echo "extern const struct hw_descriptor
> dv_${hw}_descriptor[];" ; \
> done >> tmp-hw.h
> echo 'const char version[] = "'"`sed q
> /[...]/../../gdb/version.in`"'";'
> >> version.c-tmp
> /bin/sh: -c: line 1: syntax error near unexpected token `;'
> /bin/sh: -c: line 1: `for hw in ; do \'
> make[3]: *** [hw-config.h] Error 2
The same thing happens with the version of bash that we got from
Sun as well (which is very old: 2.03.0(1)-release).
The problems comes from the fact that both shells are buggy, and
reject the following script:
for hw in ; do
[...]
done
The above is what sim/common/Makefile.in tries to execute when
generating hw-config.h.
In order to allow users to build out of the box on these machines,
this patch works around this bug. It does rely on the fact that
none of the tokens in SIM_HW contain whitespaces.
sim/common/ChangeLog:
* Make-common.in (hw-config.h): Work around bug in Solaris 2.8
system bourne shell.