Paul Pluzhnikov [Tue, 21 May 2013 23:41:29 +0000 (23:41 +0000)]
2013-05-21 Paul Pluzhnikov <ppluzhnikov@google.com>
* solib-svr4.c (svr4_free_so): Protect against NULL dereference.
Cary Coutant [Tue, 21 May 2013 21:14:40 +0000 (21:14 +0000)]
gold/
* symtab.h (Symbol::is_cxx_vtable): New function.
* target-reloc.h (relocate_section): Check for vtable symbol.
* testsuite/Makefile.am (missing_key_func.sh): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/missing_key_func.cc: New test source.
* testsuite/missing_key_func.sh: New test script.
Cary Coutant [Tue, 21 May 2013 20:56:13 +0000 (20:56 +0000)]
gold/
* object.cc (Sized_relobj_file::get_symbol_location_info): Set
type of enclosing symbol.
(Relocate_info::location): Check symbol type when describing symbol.
* object.h (Symbol_location_info): Remove unused line_number;
add enclosing_symbol_type.
* testsuite/debug_msg.sh: Adjust expected output.
Pedro Alves [Tue, 21 May 2013 20:53:21 +0000 (20:53 +0000)]
py_decref: Don't check for NULL before calling Py_DECREF.
The only difference between Py_DECREF and Py_XDECREF is that the latter allows passing
in a NULL object, while the former prohibits it. Given that, it's natural to expect
the same from py_decref vs py_xdecref.
gdb/
2013-05-21 Pedro Alves <palves@redhat.com>
* python/py-prettyprint.c (apply_val_pretty_printer): Check
whether PRINTER is NULL before installing a Py_DECREF cleanup.
* python/py-utils.c (py_decref): Don't check for NULL before
calling Py_DECREF.
Pedro Alves [Tue, 21 May 2013 20:52:30 +0000 (20:52 +0000)]
Centralize workaround for Python 2.6's Py_DECREF.
Wrap/redefine Py_DECREF ourselves, avoiding the need for uses to care
about extra braces due to the fact that Python only started wrapping Py_DECREF
in 'do {} while (0)' after 2.6.
gdb/
2013-05-21 Pedro Alves <palves@redhat.com>
* python/py-utils.c (py_decref): Remove extra braces.
(gdb_pymodule_addobject): Remove extra braces.
* python-internal.h (gdb_Py_DECREF): New static inline function.
(Py_DECREF): Redefine as calling gdb_Py_DECREF.
Keith Seitz [Tue, 21 May 2013 19:11:50 +0000 (19:11 +0000)]
* gdb.base/filesym.exp: Use gdb_test_multiple instead of
gdb_expect.
Add test to flush the remaining input buffer so that this
file passes testsuite/12649.
Philippe Waroquiers [Tue, 21 May 2013 18:47:05 +0000 (18:47 +0000)]
Fix internal error caused by interaction between catch signal and fork
Sterling Augustine [Tue, 21 May 2013 17:58:46 +0000 (17:58 +0000)]
2013-05-21 Sterling Augustine <saugustine@google.com>
* boards/remote-stdio-gdbserver.exp: New file.
Jan Kratochvil [Tue, 21 May 2013 15:02:28 +0000 (15:02 +0000)]
gdb/
Workaround Python 2.6.
* python/py-utils.c (gdb_pymodule_addobject): Wrap Py_DECREF into
a block.
Jan Kratochvil [Tue, 21 May 2013 15:00:32 +0000 (15:00 +0000)]
gdb/testsuite/
PR testsuite/12649
* gdb.mi/mi-dprintf.exp (mi_continue_dprintf): Fix expect strings for
racy matches.
Jan Kratochvil [Tue, 21 May 2013 08:16:10 +0000 (08:16 +0000)]
gdb/
Code cleanup: constification.
* solib.c (solib_ops): Make return type and ops variable type const.
(set_solib_ops): Make the new_ops parameter and ops variable const.
(solib_find, solib_map_sections, clear_so, free_so, update_solib_list)
(solib_add, solib_keep_data_in_core, clear_solib)
(solib_create_inferior_hook, in_solib_dynsym_resolve_code)
(reload_shared_libraries, solib_global_lookup): Make the ops variable
const.
* solib.h (set_solib_ops): Make the new_ops parameter const.
Christian Groessler [Tue, 21 May 2013 07:25:51 +0000 (07:25 +0000)]
* gdb.dwarf2/dw2-dir-file-name.exp: Don't use brace expansion,
since it's not supported in all shells.
Alan Modra [Tue, 21 May 2013 07:15:22 +0000 (07:15 +0000)]
PR ld/12982
* ld-plugin/pr12982.d: Fail if RWE GNU_STACK present.
Joel Brobecker [Tue, 21 May 2013 06:50:12 +0000 (06:50 +0000)]
Add new system-gdbinit infrastructure
gdb/ChangeLog:
* data-directory/Makefile.in (SYSTEM_GDBINIT_SRCDIR): New
variable.
(VPATH): Add SYSTEM_GDBINIT_SRCDIR.
(SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_INSTALL_DIR)
(SYSTEM_GDBINIT_FILES): New variables.
(all): Add stamp-system-gdbinit.
(stamp-system-gdbinit): New rule.
(clean-system-gdbinit, install-system-gdbinit)
(uninstall-system-gdbinit): New rules. Make them .PHONY.
(install-only): Add dependency on install-system-gdbinit.
(uninstall): Add dependency on uninstall-system-gdbinit.
(clean): Add dependency on clean-system-gdbinit.
* system-gdbinit/elinos.py: New file.
* system-gdbinit/wrs-linux.py: New file.
Joel Brobecker [Tue, 21 May 2013 05:41:31 +0000 (05:41 +0000)]
[Ada] Fix cleanup leak in ada-lang.c:old_renaming_is_invisible
gdb/ChangeLog:
* ada-lang.c (old_renaming_is_invisible): Fix cleanup leak.
Hui Zhu [Tue, 21 May 2013 04:18:55 +0000 (04:18 +0000)]
2013-05-21 Hui Zhu <hui@codesourcery.com>
* breakpoint.c (dprintf_breakpoint_ops): Remove its static.
* breakpoint.h (dprintf_breakpoint_ops): Add extern.
* mi/mi-cmd-break.c (ctype.h): New include.
(gdb_obstack.h): New include.
(mi_argv_to_format, mi_cmd_break_insert_1): New.
(mi_cmd_break_insert): Call mi_cmd_break_insert_1.
(mi_cmd_dprintf_insert): New.
* mi/mi-cmds.c (mi_cmds): Add "dprintf-insert".
* mi/mi-cmds.h (mi_cmd_dprintf_insert): New extern.
2013-05-21 Hui Zhu <hui@codesourcery.com>
* gdb.texinfo (GDB/MI Breakpoint Commands): Describe the
"-dprintf-insert" command.
2013-05-21 Hui Zhu <hui@codesourcery.com>
* gdb.mi/Makefile.in (PROGS): Add "mi-dprintf".
* gdb.mi/mi-dprintf.exp, gdb.mi/mi-dprintf.c: New.
Alan Modra [Tue, 21 May 2013 03:26:18 +0000 (03:26 +0000)]
* gas/ppc/vsx2.d: Ignore trailing padding.
Alan Modra [Tue, 21 May 2013 01:37:41 +0000 (01:37 +0000)]
* ld-powerpc/export-class.exp (supports_ppc64): Delete.
(powerpc_export_class_test): Add "endian" param.
(abis): Add little-endian targets and test.
* ld-powerpc/powerpc-64-export-class.xd: Update for little-endian.
Peter Bergner [Tue, 21 May 2013 01:36:46 +0000 (01:36 +0000)]
opcodes/
* ppc-dis.c (powerpc_init_dialect): Set default dialect to power8.
* ppc-opc.c (BHRBE, ST, SIX, PS, SXL, VXPS_MASK, XX1RB_MASK,
XLS_MASK, PPCVSX2): New defines.
(powerpc_opcodes) <bcdadd., bcdsub., bctar, bctar, bctarl, clrbhrb,
fmrgew, fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe,
mffprd, mffprwz, mfvrd, mfvrwz, mfvsrd, mfvsrwz, msgclrp, msgsndp,
mtfprd, mtfprwa, mtfprwz, mtsle, mtvrd, mtvrwa, mtvrwz, mtvsrd,
mtvsrwa, mtvsrwz, pbt., rfebb, stqcx., stxsiwx, stxsspx,
vaddcuq, vaddecuq, vaddeuqm, vaddudm, vadduqm, vbpermq, vcipher,
vcipherlast, vclzb, vclzd, vclzh, vclzw, vcmpequd, vcmpequd.,
vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv, vgbbd, vmaxsd,
vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw, vmuleuw, vmulosw,
vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc, vpermxor,
vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd, vpmsumh,
vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq,
vsubeuqm, vsubudm, vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp,
xscvdpspn, xscvspdpn, xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp,
xsmaddmsp, xsmsubasp, xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp,
xsnmsubasp, xsnmsubmsp, xsresp, xsrsp, xsrsqrtesp, xssqrtsp,
xssubsp, xxleqv, xxlnand, xxlorc>: New instructions.
<lxvx, stxvx>: New extended mnemonics.
gas/
* config/tc-ppc.c (ppc_setup_opcodes): Use new_seg to fix error
and clean up warning when using PRINT_OPCODE_TABLE.
gas/testsuite/
* gas/ppc/altivec2.d <bcdadd., bcdadd., vaddcuq, vaddecuq, vaddeuqm,
vaddudm, vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh,
vclzw, vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud.,
veqv, vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw,
vmuleuw, vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast,
vorc, vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd,
vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm,
vsubudm, vsubuqm, vupkhsw, vupklsw>: Add new tests.
* gas/ppc/altivec2.s: Likewise.
* gas/ppc/power8.d <bcdadd., bcdsub., bctar, bctarl, clrbhrb, fmrgew,
fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe, mfvsrd, mfvsrwz,
msgclrp, msgsndp, mtsle, mtvsrd, mtvsrwa, mtvsrwz, pbt., rfebb,
stqcx., stxsiwx, stxsspx, vaddcuq, vaddecuq, vaddeuqm, vaddudm,
vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh, vclzw,
vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv,
vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgow, vmulesw, vmuleuw,
vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc,
vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd,
vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm,
vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp, xscvdpspn, xscvspdpn,
xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp, xsmaddmsp, xsmsubasp,
xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp, xsnmsubasp, xsnmsubmsp,
xsresp, xsrsp, xsrsqrtesp, xssqrtsp, xssubsp, xxleqv, xxlnand,
xxlorc>: Add new tests.
* gas/ppc/power8.s Likewise.
* gas/ppc/vsx.d <lxvd2x, stxvd2x>: Add new tests.
* gas/ppc/vsx.s Likewise.
* gas/ppc/vsx2.d: New test file.
* gas/ppc/vsx2.s: Likewise.
* gas/ppc/ppc.exp: Run it.
gdbadmin [Tue, 21 May 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 21 May 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Maciej W. Rozycki [Mon, 20 May 2013 23:28:32 +0000 (23:28 +0000)]
* elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
refcount member of the gotplt_union when resetting the reference
count. Adjust comment.
Doug Evans [Mon, 20 May 2013 22:11:37 +0000 (22:11 +0000)]
* lib/dwarf.exp (Dwarf): New variable _abbrev_section.
(_handle_DW_TAG): Use it.
(cu, tu): Replace parameters is_64, version, addr_size with options.
All callers updated. Add Fission support.
* gdb.dwarf2/implptrconst.exp: Update callers of "cu".
* gdb.dwarf2/method-ptr.exp: Ditto.
* gdb.dwarf2/nostaticblock.exp: Ditto.
* gdb.dwarf2/subrange.exp: Ditto.
* gdb.dwarf2/missing-sig-type.exp: Update callers of "cu", "tu".
Tom Tromey [Mon, 20 May 2013 20:43:28 +0000 (20:43 +0000)]
* gdb.gdb/python-selftest.exp: New file.
Tom Tromey [Mon, 20 May 2013 20:39:31 +0000 (20:39 +0000)]
* python/py-prettyprint.c (search_pp_list): Decref 'attr'.
Tom Tromey [Mon, 20 May 2013 20:38:47 +0000 (20:38 +0000)]
* python/py-value.c (valpy_get_dynamic_type): Simplify
dynamic_type assignment. Use Py_XINCREF.
Tom Tromey [Mon, 20 May 2013 20:37:48 +0000 (20:37 +0000)]
* python/py-type.c (typy_fields): Unconditionally decref 'r'.
Tom Tromey [Mon, 20 May 2013 20:37:06 +0000 (20:37 +0000)]
* python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)
(gdbpy_selected_frame): Move object-construction code
out of TRY_CATCH.
Tom Tromey [Mon, 20 May 2013 20:36:19 +0000 (20:36 +0000)]
* python/py-arch.c (gdbpy_initialize_arch): Use
gdb_pymodule_addobject.
* python/py-block.c (gdbpy_initialize_blocks): Use
gdb_pymodule_addobject.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Use
gdb_pymodule_addobject.
* python/py-cmd.c (gdbpy_initialize_breakpoints): Use
gdb_pymodule_addobject.
* python/py-event.c (gdbpy_initialize_event_generic): Use
gdb_pymodule_addobject.
* python/py-evtregistry.c (gdbpy_initialize_eventregistry): Use
gdb_pymodule_addobject.
* python/py-evts.c (add_new_registry): Use
gdb_pymodule_addobject.
(gdbpy_initialize_py_events): Likewise.
* python/py-finishbreakpoint.c
(gdbpy_initialize_finishbreakpoints): Use
gdb_pymodule_addobject.
* python/py-frame.c (gdbpy_initialize_frames): Use
gdb_pymodule_addobject.
* python/py-function.c (gdbpy_initialize_functions): Use
gdb_pymodule_addobject.
* python/py-inferior.c (gdbpy_initialize_inferior): Use
gdb_pymodule_addobject.
* python/py-infthread.c (gdbpy_initialize_thread): Use
gdb_pymodule_addobject.
* python/py-objfile.c (gdbpy_initialize_objfile): Use
gdb_pymodule_addobject.
* python/py-param.c (gdbpy_initialize_parameters): Use
gdb_pymodule_addobject.
* python/py-progspace.c (gdbpy_initialize_pspace): Use
gdb_pymodule_addobject.
* python/py-symbol.c (gdbpy_initialize_symbols): Use
gdb_pymodule_addobject.
* python/py-symtab.c (gdbpy_initialize_symtabs): Use
gdb_pymodule_addobject.
* python/py-type.c (gdbpy_initialize_types): Use
gdb_pymodule_addobject.
* python/py-utils.c (gdb_pymodule_addobject): New function.
* python/py-value.c (gdbpy_initialize_values): Use
gdb_pymodule_addobject.
* python/python-internal.h (gdb_pymodule_addobject): Declare.
* python/python.c (_initialize_python): Use
gdb_pymodule_addobject.
Tom Tromey [Mon, 20 May 2013 20:34:49 +0000 (20:34 +0000)]
* python/py-cmd.c (cmdpy_completer): Use explicit decref.
* python/py-param.c (get_set_value, get_show_value): Use
explicit decrefs.
* python/python.c (start_type_printers, apply_type_printers):
Use explicit decrefs.
Tom Tromey [Mon, 20 May 2013 20:34:11 +0000 (20:34 +0000)]
* python/py-evts.c (gdbpy_initialize_py_events): Don't
incref the module.
Tom Tromey [Mon, 20 May 2013 20:32:56 +0000 (20:32 +0000)]
* python/python.c (gdbpy_run_events): Decref the result
of PyObject_CallObject.
Tom Tromey [Mon, 20 May 2013 20:31:18 +0000 (20:31 +0000)]
* python/py-symtab.c (set_sal): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. Return -1 on error.
(symtab_and_line_to_sal_object): Update.
Tom Tromey [Mon, 20 May 2013 20:30:24 +0000 (20:30 +0000)]
* python/py-param.c (compute_enum_values): Decref 'item'.
Tom Tromey [Mon, 20 May 2013 20:29:44 +0000 (20:29 +0000)]
* mi/mi-main.c: Include python-internal.h.
(mi_cmd_list_features): Check gdb_python_initialized.
* python/py-inferior.c (python_on_normal_stop, python_on_resume)
(python_inferior_exit, python_new_objfile, add_thread_object)
(delete_thread_object, py_free_inferior): Check
gdb_python_initialized.
* python/py-prettyprint.c (apply_val_pretty_printer): Check
gdb_python_initialized.
* python/py-type.c (save_objfile_types): Check
gdb_python_initialized.
* python/python-internal.h (gdb_python_initialized): Declare.
* python/python.c (ensure_python_env): Throw exception if
Python not initialized.
(before_prompt_hook, source_python_script_for_objfile)
(start_type_printers, apply_type_printers,
free_type_printers): Check gdb_python_initialized.
* varobj.c (varobj_get_display_hint)
(dynamic_varobj_has_child_method, update_dynamic_varobj_children)
(install_new_value_visualizer, varobj_set_visualizer)
(value_get_print_value): Check gdb_python_initialized.
Tom Tromey [Mon, 20 May 2013 20:28:52 +0000 (20:28 +0000)]
* python/py-arch.c (gdbpy_initialize_arch): Return 'int'.
Check errors.
* python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'.
* python/py-block.c (gdbpy_initialize_blocks): Return 'int'.
Check errors.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'.
Check errors.
* python/py-cmd.c (gdbpy_initialize_commands): Return 'int'.
Check errors.
* python/py-event.c (gdbpy_initialize_event): Return 'int'.
Check errors.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated
init function to return 'int'.
* python/py-evtregistry.c (gdbpy_initialize_eventregistry):
Return 'int'. Check errors.
* python/py-evts.c (gdbpy_initialize_py_events): Return 'int'.
Check errors.
* python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints):
Return 'int'. Check errors.
* python/py-frame.c (gdbpy_initialize_frames): Return 'int'.
Check errors.
* python/py-function.c (gdbpy_initialize_functions): Return 'int'.
Check errors.
* python/py-gdb-readline.c (gdbpy_initialize_gdb_readline):
Check errors.
* python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'.
Check errors.
* python/py-infthread.c (gdbpy_initialize_thread): Return 'int'.
Check errors.
* python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'.
Check errors.
* python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'.
Check errors.
* python/py-param.c (gdbpy_initialize_parameters): Return 'int'.
Check errors.
* python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'.
Check errors.
* python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'.
Check errors.
* python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'.
Check errors.
* python/py-type.c (gdbpy_initialize_types): Return 'int'.
Check errors.
* python/py-value.c (gdbpy_initialize_values): Return 'int'.
Check errors.
* python/python-internal.h (gdbpy_initialize_auto_load,
gdbpy_initialize_values, gdbpy_initialize_frames,
gdbpy_initialize_symtabs, gdbpy_initialize_commands,
gdbpy_initialize_symbols, gdbpy_initialize_symtabs,
gdbpy_initialize_blocks, gdbpy_initialize_types,
gdbpy_initialize_functions, gdbpy_initialize_pspace,
gdbpy_initialize_objfile, gdbpy_initialize_breakpoints,
gdbpy_initialize_finishbreakpoints,
gdbpy_initialize_lazy_string, gdbpy_initialize_parameters,
gdbpy_initialize_thread, gdbpy_initialize_inferior,
gdbpy_initialize_eventregistry, gdbpy_initialize_event,
gdbpy_initialize_py_events, gdbpy_initialize_stop_event,
gdbpy_initialize_signal_event,
gdbpy_initialize_breakpoint_event,
gdbpy_initialize_continue_event,
gdbpy_initialize_exited_event, gdbpy_initialize_thread_event,
gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch):
Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/python.c (gdb_python_initialized): New global.
(gdbpy_initialize_events): Return 'int'. Check errors.
(_initialize_python): Check errors. Set
gdb_python_initialized.
Tom Tromey [Mon, 20 May 2013 20:27:44 +0000 (20:27 +0000)]
* python/py-finishbreakpoint.c (bpfinishpy_out_of_scope):
Decref the reslut of PyObject_CallMethod.
Tom Tromey [Mon, 20 May 2013 20:26:39 +0000 (20:26 +0000)]
* python/py-event.c (gdbpy_initialize_event_generic): Return
early if PyType_Ready fails.
Tom Tromey [Mon, 20 May 2013 20:25:40 +0000 (20:25 +0000)]
* python/py-type.c (make_fielditem): Add gdb_assert_not_reached
as 'default' in the switch.
Tom Tromey [Mon, 20 May 2013 20:24:49 +0000 (20:24 +0000)]
* python/py-inferior.c (gdbpy_inferiors): Update. Hoist
get_addr_from_python calls out of TRY_CATCH.
(infpy_write_memory, infpy_search_memory): Likewise.
* python/py-utils.c (get_addr_from_python): Return negative
value on error. Use TRY_CATCH.
* python/python-internal.h (get_addr_from_python): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
Doug Evans [Mon, 20 May 2013 20:23:20 +0000 (20:23 +0000)]
* gdb.base/maint.exp: Fix test for "mt expand-symtabs" to account for
-fdebug-types-section.
Tom Tromey [Mon, 20 May 2013 20:23:19 +0000 (20:23 +0000)]
* python/py-event.c (evpy_emit_event): Decref the
result of PyObject_CallFunctionObjArgs.
Tom Tromey [Mon, 20 May 2013 20:21:55 +0000 (20:21 +0000)]
* python/py-cmd.c (cmdpy_completer): Use iterator protocol.
Correctly decref.
Tom Tromey [Mon, 20 May 2013 20:20:48 +0000 (20:20 +0000)]
* python/py-cmd.c (cmdpy_init): Decref 'ds_obj'.
Tom Tromey [Mon, 20 May 2013 20:19:54 +0000 (20:19 +0000)]
* python/py-event.h (gdbpy_initialize_event_generic): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/py-evts.c (add_new_registry): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/python-internal.h
(CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION): New macro.
Tom Tromey [Mon, 20 May 2013 20:19:03 +0000 (20:19 +0000)]
* python/py-arch.c (archpy_disassemble): Update.
* python/py-type.c (typy_get_composite, typy_lookup_typename)
(typy_lookup_type): Use GDB_PY_HANDLE_EXCEPTION.
* python/py-utils.c (gdbpy_convert_exception): Return 'void'.
* python/python-internal.h (CPYCHECKER_SETS_EXCEPTION): New
macro.
(GDB_PY_HANDLE_EXCEPTION): Update.
(gdbpy_convert_exception): Update. Use CPYCHECKER_SETS_EXCEPTION.
Tom Tromey [Mon, 20 May 2013 20:18:22 +0000 (20:18 +0000)]
* python/python-internal.h (events_object_type): Remove.
Tom Tromey [Mon, 20 May 2013 20:16:57 +0000 (20:16 +0000)]
* python/py-event.h (evpy_emit_event): Use
CPYCHECKER_STEALS_REFERENCE_TO_ARG.
* python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
New macro.
Tom Tromey [Mon, 20 May 2013 20:16:24 +0000 (20:16 +0000)]
* py-evtregistry.c (create_event_object): Decref
eventregistry_object if PyList_New fails.
Tom Tromey [Mon, 20 May 2013 20:14:51 +0000 (20:14 +0000)]
* py-cmd.c (gdbpy_string_to_argv): Check result of
PyList_New.
Tom Tromey [Mon, 20 May 2013 20:13:28 +0000 (20:13 +0000)]
* python/python.c (before_prompt_hook): Add cleanup to
decref 'hook'.
Tom Tromey [Mon, 20 May 2013 20:12:04 +0000 (20:12 +0000)]
* python/py-function.c (fnpy_init): Decref result of
PyObject_GetAttrString.
Tom Tromey [Mon, 20 May 2013 20:10:03 +0000 (20:10 +0000)]
* python/py-threadevent.c (get_event_thread): Use
CPYCHECKER_RETURNS_BORROWED_REF.
* python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
New define.
(pspace_to_pspace_object, objfile_to_objfile_object)
(find_thread_object): Use it.
Tom Tromey [Mon, 20 May 2013 20:09:01 +0000 (20:09 +0000)]
* python/py-arch.c (arch_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-block.c (block_syms_iterator_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-bpevent.c (breakpoint_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-cmd.c (cmdpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-continueevent.c (continue_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-events.h (thread_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-evtregistry.c (eventregistry_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-exitedevent.c (exited_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-finishbreakpoint.c (finish_breakpoint_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-function.c (fnpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-inferior.c (inferior_object_type, membuf_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-infthread.c (thread_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-lazy-string.c (lazy_string_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-newobjfileevent.c (new_objfile_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-objfile.c (objfile_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-param.c (parmpy_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-progspace.c (pspace_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-signalevent.c (signal_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-symtab.c (symtab_object_type, sal_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-type.c (type_object_type, field_object_type)
(type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New
define.
(value_object_type, block_object_type, symbol_object_type)
(event_object_type, stop_event_object_type, breakpoint_object_type)
(frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
Andreas Tobler [Mon, 20 May 2013 18:00:36 +0000 (18:00 +0000)]
2013-05-20 Andreas Tobler <andreas@fgznet.ch>
* Makefile.in (ALL_TARGET_OBS): Add ppcfbsd-tdep.o.
(ALLDEPFILES): Add ppcfbsd-nat.c and ppcfbsd-tdep.c.
Doug Evans [Mon, 20 May 2013 17:24:21 +0000 (17:24 +0000)]
When reading CU, stay in DWO. Be more tolerent of bad debug info.
For Fission.
* dwarf2read.c (struct dwarf2_per_cu_data): New member
reading_dwo_directly.
(struct signatured_type): New member dwo_unit.
(struct die_reader_specs): New member comp_dir.
(create_signatured_type_table_from_index): Use malloc for
all_type_units instead of objfile's obstack.
(create_all_type_units): Ditto.
(fill_in_sig_entry_from_dwo_entry): New function.
(add_type_unit): New function.
(lookup_dwo_signatured_type): New function.
(lookup_dwp_signatured_type): New function.
(lookup_signatured_type): New arg cu. All callers updated.
(init_cu_die_reader): Initialize comp_dir.
(read_cutu_die_from_dwo): New arg stub_comp_dir. All callers updated.
Change assert of matching type signatures to call error on mismatch.
(lookup_dwo_unit): Add assert.
(init_tu_and_read_dwo_dies): New function.
(init_cutu_and_read_dies): Call it.
(build_type_unit_groups): Handle case of no type unit groups created.
(hash_dwo_file, eq_dwo_file): Handle missing comp_dir.
(lookup_dwo_cutu): Tweak complaint.
(dwarf2_free_abbrev_table): Check for NULL abbrev_table.
(dwarf2_per_objfile_free): Free all_type_units.
Will Newton [Mon, 20 May 2013 13:26:40 +0000 (13:26 +0000)]
bfd/elf64-aarch64.c: Remove dead code.
The relocs_copied member is never assigned a non-NULL value, so
this code does not appear to be used.
bfd/ChangeLog:
2013-05-20 Will Newton <will.newton@linaro.org>
* elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
relocs_copied member.
(elf64_aarch64_link_hash_newfunc): Remove initialization of
relocs_copied member.
(elf64_aarch64_copy_indirect_symbol): Remove code to copy
relocs_copied member.
Joel Brobecker [Mon, 20 May 2013 10:27:26 +0000 (10:27 +0000)]
Add missing empty line after var declarations in handle_unload_dll
gdb/ChangeLog:
* windows-nat.c (handle_unload_dll): Add missing empty line.
Alan Modra [Mon, 20 May 2013 10:16:31 +0000 (10:16 +0000)]
* config/tc-ppc.c (md_apply_fix): Hoist code common to insn
and data fixups performing shift/high adjust/sign extension on
fieldval. Sink fx_pcrel handling and checks. Use fixP->fx_size
when writing data fixups rather than recalculating size.
Joel Brobecker [Mon, 20 May 2013 09:45:13 +0000 (09:45 +0000)]
[dwarf] Mark all functions as prototyped except C functions.
This makes sure that the types of the arguments are taken into account
when performing an inferior function call to a non-C (or C-like)
function. In particular, this makes sure that the arguments are
appropriatly converted to the correct type.
For instance, on x86_64-linux, with the following Ada code:
procedure Set_Float (F : Float) is
begin
Global_Float := F;
end Set_Float;
The following sequence shows that Float arguments are incorrectly
passed (Ada's Float type is the equivalent of type "float" in C):
(gdb) call set_float (2.0)
(gdb) print global_float
$1 = 0.0
Putting a breakpoint inside set_float to inspect the value of
register xmm0 gives the first hint of the problem:
(gdb) p $xmm0
$2 = (v4_float => (0 => 0.0, 2.0, 0.0, 0.0),
v2_double => (0 => 2.0, 0.0),
[...]
It shows that the argument was passed as a double.
The code responsible for doing appropriate type conversions
for the arguments (value_arg_coerce) found that our function
was not prototyped, and thus could not use typing information
for the arguments. Instead, it defaulted to the value of "set
coerce-float-to-double", which by default is true, to determine
the argument type.
This patch fixes the problem by setting the PROTOTYPE flag
for all functions of any language except C and Objective C.
gdb/ChangeLog:
* dwarf2read.c (prototyped_function_p): New function.
(read_subroutine_type): Use it.
gdb/testsuite/ChangeLog:
* gdb.ada/float_param: New testcase.
Joel Brobecker [Mon, 20 May 2013 09:14:24 +0000 (09:14 +0000)]
De-indent example code in rs6000-aix-tdep.c (ARI fix)
This patch de-indents the code provided as a comment explaining
how the code declaring the ld_info32_desc and ld_info64_desc globals
was generated. The intent is to avoid an ARI warning about a macro
not starting at column zero of the line.
gdb/ChangeLog:
* rs6000-aix-tdep.c: De-indent some example code provided
as a comment.
Alan Modra [Mon, 20 May 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 20 May 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Maciej W. Rozycki [Sun, 19 May 2013 21:40:00 +0000 (21:40 +0000)]
* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
function definition.
gdbadmin [Sun, 19 May 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 19 May 2013 00:00:07 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 18 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 18 May 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Edjunior Barbosa Machado [Fri, 17 May 2013 23:05:00 +0000 (23:05 +0000)]
2013-05-17 Edjunior Machado <emachado@linux.vnet.ibm.com>
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Check if the
region is ok for a hardware watchpoint using the new ptrace interface
on Power servers.
Doug Evans [Fri, 17 May 2013 18:09:06 +0000 (18:09 +0000)]
* NEWS: Mention new maintenance commands check-symtabs, and
expand-symtabs, and renamed check-psymtabs.
* psymtab.c (maintenance_check_psymtabs): Renamed from
maintenance_check_symtabs. Only process already-expanded symbol
tables.
(_initialize_psymtab): Update.
* symmisc.c (maintenance_check_symtabs): New function.
(maintenance_expand_name_matcher): New function
(maintenance_expand_file_matcher): New function
(maintenance_expand_symtabs): New function.
(_initialize_symmisc): Add "mt check-symtabs" and "mt expand-symtabs"
commands.
doc/
* gdb.texinfo (Maintenance Commands): Update doc for
"maint check-psymtabs". Add doc for "maint check-symtabs",
"maint expand-symtabs".
testsuite/
* gdb.base/maint.exp: Update test for "maint check-psymtabs".
Add tests for "maint check-symtabs", "maint expand-symtabs".
Doug Evans [Fri, 17 May 2013 18:05:19 +0000 (18:05 +0000)]
* gdb.base/maint.exp: Remove testing of individual maint command
help output.
Tom Tromey [Fri, 17 May 2013 16:52:34 +0000 (16:52 +0000)]
* python/py-inferior.c (infpy_read_memory): Don't call
PyErr_SetString if PyObject_New fails.
* python/py-frame.c (frame_info_to_frame_object): Don't call
PyErr_SetString if PyObject_New fails.
H.J. Lu [Fri, 17 May 2013 16:24:21 +0000 (16:24 +0000)]
Replace hardcoded -ldl with check for availability
2013-05-17 Pavel Chupin <pavel.v.chupin@intel.com>
* acinclude.m4: Add check for dlopen in libdl.
* configure.ac: Ditto.
* configure: Regenerate.
Alan Modra [Fri, 17 May 2013 12:57:16 +0000 (12:57 +0000)]
* ia64-raw.tbl: Replace non-ASCII char.
* ia64-waw.tbl: Likewise.
* ia64-asmtab.c: Regenerate.
Phil Muldoon [Fri, 17 May 2013 08:34:18 +0000 (08:34 +0000)]
2013-05-17 Phil Muldoon <pmuldoon@redhat.com>
* frame.c (frame_stash): Convert to htab.
(frame_addr_hash): New function.
(frame_addr_hash_eq): New function.
(frame_stash_create): Convert function to create
a hash table.
(frame_stash_add): Convert function to add an entry to a hash
table.
(frame_stash_find): Convert function to search the hash table.
(frame_stash_invalidate): Convert function to empty the hash
table.
(get_frame_id): Only add to stash if a frame_id is created.
(_initialize_frame): Call frame_stash_create.
Thomas Schwinge [Fri, 17 May 2013 06:58:33 +0000 (06:58 +0000)]
Mark the following commit as tiny change:
gdb/
2013-05-16 Yue Lu <hacklu.newborn@gmail.com>
* configure.ac: Ensure MIG is available when building for GNU Hurd
hosts.
* configure: Regenerate.
Joel Brobecker [Fri, 17 May 2013 06:53:53 +0000 (06:53 +0000)]
[gdbserver/lynx178]: Fix null_ptid -vs- minus_one_ptid confusion in comment
gdb/gdbserver/ChangeLog:
* lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid
confusion in comment.
Joel Brobecker [Fri, 17 May 2013 06:47:44 +0000 (06:47 +0000)]
gdbserver/lynx178: spurious SIG61 signal when resuming inferior.
On ppc-lynx178, resuming the execution of a program after hitting
a breakpoint sometimes triggers a spurious SIG61 event:
(gdb) cont
Continuing.
Program received signal SIG61, Real-time event 61.
[Switching to Thread 39]
0x10002324 in a_test.task1 (<_task>=0x3ffff774) at a_test.adb:30
30 select -- Task 1
From this point on, continuing again lets the signal kill the program.
Using "signal 0" or configuring GDB to discard the signal does not
help either, as the program immediately reports the same signal again.
What happens is the following:
- GDB sends a single-step order to gdbserver: $vCont;s:31
This tells GDBserver to do a step using thread 0x31=49.
GDBserver does the step, and thread 49 receives the SIGTRAP
indicating that the step has finished.
- GDB then sends a "continue", but this time does not specify
which thread to continue: $vCont;c
GDBserver uses an arbitrary thread's ptid to resume the program's
execution (the current_inferior's ptid was chosen for that).
See lynx-low.c:lynx_resume:
if (ptid_equal (ptid, minus_one_ptid))
ptid = thread_to_gdb_id (current_inferior);
So far on all LynxOS platforms, this has been good enough. But
not so on LynxOS 178. If the ptid used to resume the execution
is not the same as the thread that did the step, we get the weird
signal.
This patch fixes the problem by saving the ptid of the thread
that last caused an event, received during a call to waitpid.
The ptid is saved in per-process private data.
gdb/gdbserver/ChangeLog:
* lynx-low.c (struct process_info_private): New type.
(lynx_add_process): New function.
(lynx_create_inferior, lynx_attach): Replace calls to
add_process by calls to lynx_add_process.
(lynx_resume): If PTID is null, then try using
current_process()->private->last_wait_event_ptid.
Add comments.
(lynx_clear_inferiors): Delete. The contents of that function
has been inlined in lynx_mourn;
(lynx_wait_1): Save the ptid in the process's private data.
(lynx_mourn): Free the process' private data. Replace call
to lynx_clear_inferiors by call to clear_inferiors.
Yao Qi [Fri, 17 May 2013 02:22:52 +0000 (02:22 +0000)]
gdb/gdbserver
* i386-low.c (i386_length_and_rw_bits): Move the comment to
the right place.
gdbadmin [Fri, 17 May 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 17 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
Thomas Schwinge [Thu, 16 May 2013 21:54:34 +0000 (21:54 +0000)]
gdb/
2013-05-16 Yue Lu <hacklu.newborn@gmail.com>
* configure.ac: Ensure MIG is available when building for GNU Hurd
hosts.
* configure: Regenerate.
Jan-Benedict Glaw [Thu, 16 May 2013 16:47:14 +0000 (16:47 +0000)]
* doc/c-msp430.texi: Fix typo.
also: * ChangeLog: Fix entry.
Cary Coutant [Thu, 16 May 2013 16:34:51 +0000 (16:34 +0000)]
bfd/
* ecoff.c (ecoff_link_check_archive_element): Add initializers for
external_ext_size and esize.
Tristan Gingold [Thu, 16 May 2013 15:41:40 +0000 (15:41 +0000)]
bfd/
2013-05-16 Tristan Gingold <gingold@adacore.com>
* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
gas/
2013-05-16 Tristan Gingold <gingold@adacore.com>
* config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
are also TOC symbols.
Tristan Gingold [Thu, 16 May 2013 15:37:50 +0000 (15:37 +0000)]
2013-05-16 Tristan Gingold <gingold@adacore.com>
* gas/ppc/ppc.exp: Do not run simpshft on aix.
Nick Clifton [Thu, 16 May 2013 13:19:40 +0000 (13:19 +0000)]
* config/tc-msp430.c: Make -mmcu recognise more part numbers.
Add -mcpu command to specify core type.
* doc/c-msp430.c: Update documentation.
* gas/msp430/opcodes.s: Use correct value for .arch pseudo.
* gas/msp430/msp430x.d: Use correct value for -mcpu option.
Luis Machado [Thu, 16 May 2013 10:31:49 +0000 (10:31 +0000)]
* linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,
PT_DATA_ADDR and PT_TEXT_END_ADDR. Update comments.
(linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and
PT_TEXT_END_ADDR guards. Update comments.
(linux_target_op) <read_offsets>: Conditionally define to
linux_read_offsets if the target is UCLIBC and if it defines
PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
Pedro Alves [Thu, 16 May 2013 10:13:33 +0000 (10:13 +0000)]
gdb.ada/complete.exp: Fix FIXME.
2013-05-16 Pedro Alves <palves@redhat.com>
* gdb.ada/complete.exp (test_gdb_no_completion): Fix typo in
comment. Use gdb_test_no_output.
Joel Brobecker [Thu, 16 May 2013 07:39:43 +0000 (07:39 +0000)]
[dwarf]: Add DW_LANG_UPC support in set_cu_language.
gdb/ChangeLog:
* dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.
Joel Brobecker [Thu, 16 May 2013 07:02:43 +0000 (07:02 +0000)]
Missing do_cleanups in ada_make_symbol_completion_list.
This results in an internal-warning when trying the completion
when in Ada mode:
(gdb) b simple<TAB>
/[...]/cleanups.c:265: internal-warning: restore_my_cleanups has found a stale cleanup
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
gdb/ChangeLog:
* ada-lang.c (ada_make_symbol_completion_list): Make sure
all cleanups are done before returning from this function.
gdb/testsuite/ChangeLog:
* gdb.ada/complete.exp: Add test verifying completion using
the "tab" key.
Alan Modra [Thu, 16 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 16 May 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Keith Seitz [Wed, 15 May 2013 21:21:05 +0000 (21:21 +0000)]
* gdb.base/filesym.exp: New completer test.
* gdb.base/filesym.c: New file.
Mike Frysinger [Wed, 15 May 2013 17:49:44 +0000 (17:49 +0000)]
sim: arm: add support for MOVW and MOVT instructions
From: Jayant R. Sonar <Jayant.Sonar@kpitcummins.com>
This patch adds simulator support for handling the armv7 instructions
'movw (immediate)' and 'movt'.
Compiler frequently use these instructions to load the 32bit addresses of
global variables, string pointers etc. into the general registers.
In absence of support of these instructions:
1. GDB run simulator fails to print even simple "hello world" string
on console.
2. Loading of global variable addresses into the registers fail causing
arithmetic operation failures.
Patch has been regression tested for arm-none-eabi (-march=armv7-a).
Pedro Alves [Wed, 15 May 2013 17:33:04 +0000 (17:33 +0000)]
Remove my name from a couple tests.
Tested on x86_64 Fedora 17.
gdb/testsuite/
2013-05-15 Pedro Alves <palves@redhat.com>
* gdb.base/fixsection.c: Remove attribution.
* gdb.base/watch-read.exp: Ditto.
Cary Coutant [Wed, 15 May 2013 16:36:38 +0000 (16:36 +0000)]
binutils/
* dwarf.c (SAFE_BYTE_GET64): Correct end-of-buffer check;
don't increment PTR.
(decode_location_expression): DW_OP_const2u should read 2 bytes.
(display_debug_lines_decoded): Adjust formatting.
* elfcomm.c (byte_get_little_endian): Add cases for 5-, 6-, and
7-byte reads.
(byte_get_big_endian): Likewise.
(byte_get_signed): Likewise.
Joel Brobecker [Wed, 15 May 2013 12:49:05 +0000 (12:49 +0000)]
Remove forward enum declaration in utils.h.
These forward declarations are a GNU extension, and they trigger
a build warning when the compiler does not support it.
gdb/ChangeLog:
* utils.h: #include "exceptions.h".
(enum errors): Remove partial declaration.
Joel Brobecker [Wed, 15 May 2013 12:26:14 +0000 (12:26 +0000)]
ppc-aix core file relocation.
The current code attempts to provide relocation support when debugging
core files via the rs6000_xfer_partial method of the rs6000-nat
target_ops vector. However, this target_ops vector does not get pushed
on the target stack at all when debugging core files, thus bypassing
completely that part of the code.
This patch fixes the problem by extending corelow's core_xfer_partial
into handling the TARGET_OBJECT_LIBRARIES_AIX object.
gdb/ChangeLog:
* gdbarch.sh (core_xfer_shared_libraries_aix): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX
handling.
* rs6000-aix-tdep.h: New file.
* Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h.
* rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and
"xml-utils.h".
(struct field_info, struct ld_info_desc): New types.
(ld_info32_desc, ld_info64_desc): New static constants.
(struct ld_info): New type.
(rs6000_aix_extract_ld_info): New function.
(rs6000_aix_shared_library_to_xml): Likewise.
(rs6000_aix_ld_info_to_xml): Likewise.
(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
(rs6000_aix_init_osabi): Add call to
set_gdbarch_core_xfer_shared_libraries_aix.
* rs6000-nat.c: Add "rs6000-aix-tdep.h" include.
Remove "xml-utils.h" include.
(LdInfo): Delete typedef.
(ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME):
Delete macros.
(rs6000_ptrace_ldinfo): Change return type to gdb_byte *.
Adjust code accordingly.
(rs6000_core_ldinfo): Delete, folded into
rs6000_aix_core_xfer_shared_libraries_aix.
(rs6000_xfer_shared_library): Delete.
(rs6000_xfer_shared_libraries): Reimplement.
Markus Metzger [Wed, 15 May 2013 07:04:12 +0000 (07:04 +0000)]
The "record goto" command scans its arguments for "begin", "start", or "end".
Turn those into sub-commands.
Document the "record goto" command.