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.
Andreas Schwab [Wed, 15 May 2013 06:51:19 +0000 (06:51 +0000)]
* elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
Saravanan Ekanathan [Wed, 15 May 2013 05:06:23 +0000 (05:06 +0000)]
gas/
* i386-gen.c (cpu_flag_init): Add CpuFSGSBase in CPU_BDVER3_FLAGS.
* i386-init.h: Regenerated.
gdbadmin [Wed, 15 May 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 15 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Tue, 14 May 2013 20:41:45 +0000 (20:41 +0000)]
gdb/
* linespec.c (convert_linespec_to_sals): New comment for
SOURCE_FILENAME assignment.
Jan Kratochvil [Tue, 14 May 2013 20:39:12 +0000 (20:39 +0000)]
gdb/
* cleanups.c (restore_my_cleanups): Replace gdb_assert by
internal_warning.
Tom Tromey [Tue, 14 May 2013 20:37:57 +0000 (20:37 +0000)]
* eval.c (parse_and_eval_long): Make 'exp' const.
* value.h (parse_and_eval_long): Update.
Tom Tromey [Tue, 14 May 2013 20:35:24 +0000 (20:35 +0000)]
* ui-file.c (gdb_fopen): Make arguments const.
* ui-file.h (gdb_fopen): Make arguments const.
Tom Tromey [Tue, 14 May 2013 20:33:36 +0000 (20:33 +0000)]
* remote.c (remote_set_trace_notes): Make arguments const.
* target.c (update_current_target): Update cast.
* target.h (to_set_trace_notes): Make arguments const.
Tom Tromey [Tue, 14 May 2013 20:32:15 +0000 (20:32 +0000)]
* go32-nat.c (go32_terminal_info): Make 'args' const.
* inferior.h (child_terminal_info): Update.
* inflow.c (child_terminal_info): Make 'args' const.
* target.c (default_terminal_info): Make 'args' const.
(debug_to_terminal_save_ours): Likewise.
* target.h (struct target_ops) <to_terminal_info>: Make argument
const.
Tom Tromey [Tue, 14 May 2013 20:30:48 +0000 (20:30 +0000)]
* gcore.c (create_gcore_bfd): Make 'filename' const.
* gcore.h (create_gcore_bfd): Make 'filename' const.
* record-full.c (record_full_save): Make 'recfilename' const.
* target.c (target_save_record): Make 'filename' const.
* target.h (struct target_ops) <to_save_record>: Make 'filename'
const.
(target_save_record): Likewise.
Alan Modra [Tue, 14 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 14 May 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Yufeng Zhang [Mon, 13 May 2013 22:33:54 +0000 (22:33 +0000)]
Corrected the changelog entry in the previous commit.
Yufeng Zhang [Mon, 13 May 2013 22:28:27 +0000 (22:28 +0000)]
gas/
* testsuite/gas/aarch64/diagnostic.s: Update.
* testsuite/gas/aarch64/diagnostic.l: Ditto.
* testsuite/gas/aarch64/movi.s: Add new tests.
* testsuite/gas/aarch64/movi.d: Update.
opcodes/
* aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Remove assertion.
* aarch64-opc.c (operand_general_constraint_met_p): Relax the range
check from [0, 255] to [-128, 255].
Tom Tromey [Mon, 13 May 2013 19:32:17 +0000 (19:32 +0000)]
* gdb.dwarf2/implptrconst.exp: Create a CU with 4 byte address
size and change type sizes to 4 bytes.
Cary Coutant [Mon, 13 May 2013 17:35:22 +0000 (17:35 +0000)]
gold/
* configure.ac: Export DEFAULT_TARGET.
* configure: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES.
* testsuite/Makefile.in: Regenerate.
* testsuite/debug_msg.sh: Delete duplicate tests.
Don't check undef_int error message match for powerpc where the
source file and line number aren't available.
Tom Tromey [Mon, 13 May 2013 16:57:20 +0000 (16:57 +0000)]
fix PR number in ChangeLog
Tom Tromey [Mon, 13 May 2013 16:56:09 +0000 (16:56 +0000)]
PR gdb/15538:
* dwarf2read.c (dwarf2_record_block_ranges): Ensure that the
ranges section has been read.
Tom Tromey [Mon, 13 May 2013 16:51:52 +0000 (16:51 +0000)]
PR exp/15364:
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
STRUCTOP_PTR>: Return a not_lval value for
EVAL_AVOID_SIDE_EFFECTS.
* opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value
for EVAL_AVOID_SIDE_EFFECTS.
gdb/testsuite
* gdb.base/exprs.exp (test_expr): Add regression test.
* gdb.base/exprs.c (null_t_struct): New global.
Nick Clifton [Mon, 13 May 2013 10:52:52 +0000 (10:52 +0000)]
* v850.igen (LDSR): Accept but ignore a selID parameter.
Joel Brobecker [Mon, 13 May 2013 10:27:35 +0000 (10:27 +0000)]
Float parameter passing in funcall on ppc-aix & ppc-lynx178.
Given the following code:
float global_float = 0.0;
void
set_float (float f)
{
global_float = f;
}
GDB incorrectly calls set_float if the set_float function is marked
as prototyped:
(gdb) call set_float (5.0)
(gdb) print global_float
$1 = 2048
What happens, when the function is marked as prototyped, is that
GDB finds that the argument is a float, casts the value given in
the expression to a float, and then gives that float to ppc-aix/
ppc-lynx178's push_dummy_call gdbarch routine. The latter then blindly
copies it as is in the first floating-point register, instead of
making sure that it has the proper format first.
gdb/ChangeLog:
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Convert
floating point registers to register type before storing
value.
* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call):
Likewise.
Muhammad Bilal [Mon, 13 May 2013 08:49:23 +0000 (08:49 +0000)]
* History saving should stay disabled for test cases *
I saw some test cases in gdb.base/default.exp and gdb.base/setshow.exp
are enabling the history saving.
Hence .gdb_history file is modified with history information even
though, by default, we have History saving disabled.
So we should modify GDB test cases so that history saving should stay
off for all test cases.
ChangeLog:
2013-05-13 Muhammad Bilal <mbilal@codesourcery.com>
* gdb.base/default.exp: Disable history saving.
* gdb.base/setshow.exp: Likewise.
gdbadmin [Mon, 13 May 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 13 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 12 May 2013 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 12 May 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***