gdbadmin [Sat, 19 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 18 Feb 2011 23:00:06 +0000 (23:00 +0000)]
daily update
Tom Tromey [Fri, 18 Feb 2011 21:12:07 +0000 (21:12 +0000)]
gdb
* common/ax.def: New file.
* ax.h (enum agent_op): Use ax.def.
* ax-general.c (aop_map): Use ax.def.
gdbserver
* Makefile.in (tracepoint-ipa.o): Depend on ax.def.
(tracepoint.o): Likewise.
* tracepoint.c (enum gdb_agent_op): Use ax.def.
(gdb_agent_op_names): Likewise.
Tom Tromey [Fri, 18 Feb 2011 20:55:45 +0000 (20:55 +0000)]
gdb
* ax-general.c (aop_map): Add pick and rot.
* dwarf2loc.c (compile_dwarf_to_ax) <DW_OP_over>: Reimplement.
<DW_OP_rot>: Implement.
* ax.h (enum agent_op) <aop_pick, aop_rot>: New constants.
(ax_pick): Declare.
* ax-general.c (ax_pick): New function.
doc
* agentexpr.texi (Bytecode Descriptions): Document pick and rot.
gdbserver
* tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick,
gdb_agent_op_rot>: New constants.
(gdb_agent_op_names): Add pick and roll.
(eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New
cases.
Tom Tromey [Fri, 18 Feb 2011 20:31:18 +0000 (20:31 +0000)]
* Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc.
Jan Kratochvil [Fri, 18 Feb 2011 19:10:48 +0000 (19:10 +0000)]
gdb/
* cp-support.c (make_symbol_overload_list_namespace): Do not call
make_symbol_overload_list_block with NULL BLOCK.
* valarith.c (unop_user_defined_p): Resolve also TYPE_CODE_TYPEDEF.
gdb/testsuite/
* gdb.cp/typedef-operator.exp: New file.
* gdb.cp/typedef-operator.cc: New file.
Dave Anglin [Fri, 18 Feb 2011 18:20:29 +0000 (18:20 +0000)]
PR ld/12376
emulparams/hppalinux.sh (DATA_ADDR): Define.
(SHLIB_DATA_ADDR): Likewise.
Pedro Alves [Fri, 18 Feb 2011 16:43:53 +0000 (16:43 +0000)]
* breakpoint.c (get_number_trailer): No longer accept a NULL PP.
* breakpoint.h (get_number_or_range): Declare.
* printcmd.c (ALL_DISPLAYS): Declare.
(delete_display): Reimplement taking a display pointer.
(undisplay_command): Accept a range of displays to delete, using
get_number_or_range.
Rafael Ávila de Espíndola [Fri, 18 Feb 2011 14:55:33 +0000 (14:55 +0000)]
2010-02-18 Rafael Ávila de Espíndola <respindola@mozilla.com>
* symtab.cc (Symbol::should_add_dynsym_entry) Return false for
plugin only symbols.
(Symbol_table::sized_finalize_symbol) Mark symbol only present
in plugin files as not needed in the symbol table.
Pierre Muller [Fri, 18 Feb 2011 14:17:38 +0000 (14:17 +0000)]
* c-valprint.c (c_val_print): Add embedded_offset to address
for arrays of unspecified length.
* p-valprint.c (pascal_val_print): Likewise.
Yao Qi [Fri, 18 Feb 2011 05:01:54 +0000 (05:01 +0000)]
2011-02-18 Yao Qi <yao@codesourcery.com>
* gdb/arm-tdep.c (arm_displaced_step_copy_insn): Move code to ...
(arm_process_displaced_insn): .. here. Remove parameter INSN.
(thumb_process_displaced_insn): New.
* gdb/arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Update
call to arm_process_displaced_insn.
* gdb/arm-tdep.h : Update declaration of arm_process_displaced_insn.
gdbadmin [Fri, 18 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 17 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Michael Snyder [Thu, 17 Feb 2011 22:08:12 +0000 (22:08 +0000)]
2011-02-17 Michael Snyder <msnyder@vmware.com>
* gdb.threads/thread-find.exp: Fix regular expressions.
Pedro Alves [Thu, 17 Feb 2011 19:06:07 +0000 (19:06 +0000)]
Prefix filenames with gdb.trace/
Tom Tromey [Thu, 17 Feb 2011 16:20:44 +0000 (16:20 +0000)]
* dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Rename from
compile_dwarf_to_ax. No longer static. Call
dwarf2_compile_cfa_to_ax.
(locexpr_tracepoint_var_ref): Update.
(loclist_tracepoint_var_ref): Update.
* dwarf2-frame.h (dwarf2_compile_cfa_to_ax): Declare.
* dwarf2-frame.c (execute_cfa_program): Remove 'this_frame'
argument; add 'gdbarch' and 'pc'.
(dwarf2_compile_cfa_to_ax): New function.
(dwarf2_frame_cache): Update.
H.J. Lu [Thu, 17 Feb 2011 13:51:52 +0000 (13:51 +0000)]
Revert the last change to elf64-x86-64.c.
Joel Brobecker [Thu, 17 Feb 2011 06:42:57 +0000 (06:42 +0000)]
[Ada] Fix unconstrained packed array size
When ada-lang transforms an array descriptor type (an XUP structure)
into an array type, the size of the array type is computed by using
the element size, and multiplying it by the number of elements in
that array. This does not work, however, for packed arrays, where
the *packed* size in bits needs to be used.
This usually does not cause any problem, because we end up reading
more memory than needed. However, we have observed on LynxOS
a memory error while trying to read the entire array, because
the larger-than-needed read tried to read past the end of the stack
into inaccessible memory.
This patch fixes the problem by correctly computing the array size
in bytes in the case of packed arrays.
gdb/ChangeLog:
* ada-lang.c (ada_type_of_array): Fix the size of the array
in the case of an unconstrained packed array.
gdb/testsuite/ChangeLog:
* gdb.ada/packed_array: Expand testcase to test printing of
unconstrained packed array.
Joel Brobecker [Thu, 17 Feb 2011 05:21:29 +0000 (05:21 +0000)]
dw2-ranges.exp: simplify using clean_restart
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-ranges.exp: Simplify using clean_restart.
Yao Qi [Thu, 17 Feb 2011 02:15:22 +0000 (02:15 +0000)]
2011-02-17 Yao Qi <yao@codesourcery.com>
* common/Makefile.in: Add more targets for make.
gdbadmin [Thu, 17 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 16 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
Tom Tromey [Wed, 16 Feb 2011 21:45:38 +0000 (21:45 +0000)]
* dwarf2loc.c (unimplemented): Fix typo.
Tom Tromey [Wed, 16 Feb 2011 21:32:05 +0000 (21:32 +0000)]
* dwarf2loc.c (unimplemented): Handle unnamed opcodes.
(compile_dwarf_to_ax) <default>: Use unimplemented.
<DW_OP_deref>: Update.
(disassemble_dwarf_expression): Update.
* dwarf2read.c (dwarf_stack_op_name): Remove 'def' argument.
(decode_locdesc): Update.
* dwarf2expr.h (dwarf_stack_op_name): Update.
Tom Tromey [Wed, 16 Feb 2011 21:02:29 +0000 (21:02 +0000)]
* ax.h (struct aop_map) <name>: Now const.
H.J. Lu [Wed, 16 Feb 2011 19:14:41 +0000 (19:14 +0000)]
Change x32 LIBPATH_SUFFIX to x32.
2011-02-16 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
x32 for x32.
Pedro Alves [Wed, 16 Feb 2011 18:07:58 +0000 (18:07 +0000)]
2011-02-16 Tom Tromey <tromey@redhat.com>
gdb/
* ax-gdb.c.c (gen_expr) <UNOP_MEMVAL>: Handle value kinds other
than axs_rvalue.
2011-02-16 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
* collection.c (globalarr3): New global.
(main): Initialize it before collecting, and and clear it
afterwards.
* collection.exp (gdb_collect_globals_test): Test collecting with
'{type} addr', where the addr expression is not an rvalue.
Richard Henderson [Wed, 16 Feb 2011 16:51:23 +0000 (16:51 +0000)]
Fix comment typo.
H.J. Lu [Wed, 16 Feb 2011 14:58:18 +0000 (14:58 +0000)]
Don't check relocation overflow for x32.
2011-02-16 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_check_relocs): Check relocation
overflow only for ABI_64_P.
(elf_x86_64_relocate_section): Likewise.
Yao Qi [Wed, 16 Feb 2011 14:54:42 +0000 (14:54 +0000)]
2011-02-16 Yao Qi <yao@qiyaows>
* infrun.c (get_displaced_step_closure_by_addr): New.
* inferior.h: Declare it.
* arm-tdep.c: (arm_pc_is_thumb): Call
get_displaced_step_closure_by_addr. Adjust MEMADDR if it
returns non-NULL.
Ken Werner [Wed, 16 Feb 2011 14:38:53 +0000 (14:38 +0000)]
gdb/testsuite/ChangeLog
2011-02-16 Ken Werner <ken.werner@de.ibm.com>
* gdb.opencl/datatypes.exp: Allow "false" when printing the content of
a bool variable. Expect correct OpenCL names for vector types. Use the
uc3 variable name instead of referring to the uchar3 built-in type.
Escape the asterisk at the half pointer test.
Pedro Alves [Wed, 16 Feb 2011 12:59:05 +0000 (12:59 +0000)]
2011-02-16 Pedro Alves <pedro@codesourcery.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
gdb/
* tracepoint.c (memrange_sortmerge): Fix list A's end calculation.
2011-02-16 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
* collection.c (globalarr2): New global.
(main): Initialize it before collecting, and and clear it
afterwards.
* collection.exp (gdb_collect_globals_test): Test collecting
overlapping memory ranges.
Pedro Alves [Wed, 16 Feb 2011 11:57:41 +0000 (11:57 +0000)]
Fix pasto...
Pedro Alves [Wed, 16 Feb 2011 11:55:59 +0000 (11:55 +0000)]
gdb/
* value.c (value_contents_copy_raw): Extend describing comment.
Assert that the destination contents we're overwriting are wholly
available.
* value.h (value_contents_copy): Extend describing comment.
Pedro Alves [Wed, 16 Feb 2011 10:13:53 +0000 (10:13 +0000)]
* value.c (value_available_contents_eq): Remove redundant local
variables. Fix available contents comparision.
* value.h (value_available_contents_eq): Extend describing
comment.
Yao Qi [Wed, 16 Feb 2011 09:46:09 +0000 (09:46 +0000)]
2011-02-16 Yao Qi <yao@codesourcery.com>
* thread.c (info_threads_command): Add missing i18n markup and remove
trailing newline.
gdbadmin [Wed, 16 Feb 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 15 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Paul Pluzhnikov [Tue, 15 Feb 2011 21:43:25 +0000 (21:43 +0000)]
2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
* breakpoint.c (longjmp_names): New variable.
(struct breakpoint_objfile_data): New type.
(breakpoint_objfile_key): New variable.
(msym_not_found): New variable.
(msym_not_found_p): New predicate.
(get_breakpoint_objfile_data): New function.
(create_overlay_event_breakpoint): Check per-objfile cache for
symbols first.
(create_longjmp_master_breakpoint): Likewise.
(create_std_terminate_master_breakpoint): Likewise.
(create_exception_master_breakpoint): Likewise.
(_initialize_breakpoint): Register per-objfile data key.
Michael Snyder [Tue, 15 Feb 2011 21:25:05 +0000 (21:25 +0000)]
Fix mis-merge of changelog.
Paul Pluzhnikov [Tue, 15 Feb 2011 21:23:34 +0000 (21:23 +0000)]
2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
* breakpoint.c ((create_overlay_event_breakpoint): Const-propagate
parameter value.
(create_longjmp_master_breakpoint): Loop over longjmp names.
(create_std_terminate_master_breakpoint): Const-propagate parameter
value.
(update_breakpoints_after_exec): Adjust.
(breakpoint_re_set): Adjust.
Michael Snyder [Tue, 15 Feb 2011 21:17:53 +0000 (21:17 +0000)]
2011-02-15 Michael Snyder <msnyder@vmware.com>
* command.h (enum command_class): New class 'no_set_class', for
"show" commands without a corresponding "set" command.
* value.c (_initialize_values): Use 'no_set_class' for "show values".
* copying.c (_initialize_copying): Ditto for "show copying" and
"show warranty".
* cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
"show version".
* cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
which there is no corresponding "set" command (eg. "show copying").
2011-02-14 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (threads): Document argument for "info threads" cmd.
Document new command "thread find".
2011-02-15 Michael Snyder <msnyder@vmware.com>
* gdb.base/default.exp: Add tests for thread commands.
* gdb.base/help.exp: Add tests for thread commands.
* gdb.threads/thread-find.exp: New test for thread find command.
Jan Kratochvil [Tue, 15 Feb 2011 21:14:02 +0000 (21:14 +0000)]
Merge gdb/common/ChangeLog back to gdb/ChangeLog.
Jan Kratochvil [Tue, 15 Feb 2011 21:05:54 +0000 (21:05 +0000)]
gdb/
* Makefile.in (ACLOCAL_AMFLAGS): Add `-I ../config'.
* aclocal.m4: Regenerated with aclocal-1.11.1.
* common/configure: Regenerate with autoconf-2.64.
gdb/gdbserver/
* aclocal.m4: Regenerated with aclocal-1.11.1.
Ken Werner [Tue, 15 Feb 2011 20:10:13 +0000 (20:10 +0000)]
gdb/ChangeLog
2011-02-15 Ken Werner <ken.werner@de.ibm.com>
* opencl-lang.c (build_opencl_types): Set the size of the built-in
bool data type to a size of one byte.
gdb/testsuite/ChangeLog
2011-02-15 Ken Werner <ken.werner@de.ibm.com>
* gdb.opencl/datatypes.exp: Expect the size of a bool to be one byte.
Richard Henderson [Tue, 15 Feb 2011 18:01:07 +0000 (18:01 +0000)]
* dw2gencfi.c (dot_cfi_dummy): New.
(cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New.
* read.c (pobegin): Unconditionally call cfi_pop_insert.
Pedro Alves [Tue, 15 Feb 2011 17:22:21 +0000 (17:22 +0000)]
gdb/
* target.c (memory_xfer_live_readonly_partial): Document where to
look for interface description.
Kai Tietz [Tue, 15 Feb 2011 16:15:55 +0000 (16:15 +0000)]
2011-02-15 Kai Tietz <kai.tietz@onevision.com>
* pe-dll.c (process_def_file_and_drectve): Don't strip
leading underscore from symbol by calling bfd_find_version_for_sym.
Yao Qi [Tue, 15 Feb 2011 14:26:34 +0000 (14:26 +0000)]
2011-02-15 Yao Qi <yao@codesourcery.com>
PR tdep/12352
* arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
order to store PC value on stack instead of text section.
2011-02-15 Yao Qi <yao@codesourcery.com>
PR tdep/12352
* gdb.arch/arm-disp-step.S : New test for str instruction.
* gdb.arch/arm-disp-step.exp : Likewise
Thiago Jung Bauermann [Tue, 15 Feb 2011 13:35:23 +0000 (13:35 +0000)]
gdb/
* rs6000-tdep.c (IS_EFP_PSEUDOREG): Use correct constant for
the EFP register set size.
(efpr_pseudo_register_read): Use regcache_raw_read_part to read
data from the VMX register.
(efpr_pseudo_register_write): Use regcache_raw_write_part to read
and write data from/to the VMX register.
gdb/testsuite/
* gdb.arch/vsx-regs.exp: Add "vector_register1_vr" and
"vector_register2_vr" test strings. Test the extended floating
point registers (F32~F63).
* lib/gdb.exp (skip_vsx_tests): Update compile flags for the
IBM XL C compiler. Make the test program use a register provided
by the compiler for the lxvd2x instruction.
Tristan Gingold [Tue, 15 Feb 2011 09:35:42 +0000 (09:35 +0000)]
2011-02-15 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
Alan Modra [Tue, 15 Feb 2011 04:07:43 +0000 (04:07 +0000)]
* elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
toc relocs. Fuss over free(NULL).
gdbadmin [Tue, 15 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Michael Snyder [Mon, 14 Feb 2011 23:41:33 +0000 (23:41 +0000)]
2011-02-14 Michael Snyder <msnyder@vmware.com>
* command.h (enum command_class): New class 'no_set_class', for
"show" commands without a corresponding "set" command.
* value.c (_initialize_values): Use 'no_set_class' for "show values".
* copying.c (_initialize_copying): Ditto for "show copying" and
"show warranty".
* cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
"show version".
* cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
which there is no corresponding "set" command (eg. "show copying").
Michael Snyder [Mon, 14 Feb 2011 23:14:35 +0000 (23:14 +0000)]
2011-02-14 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (Threads): Update example of new thread message.
Alan Modra [Mon, 14 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Pedro Alves [Mon, 14 Feb 2011 22:08:48 +0000 (22:08 +0000)]
* exec.c (section_table_available_memory): Change `len' parameter
type to ULONGEST.
* exec.h (section_table_available_memory): Ditto.
* value.h (read_value_memory): Rename the `offset' parameter to
`embedded_offset'.
Pedro Alves [Mon, 14 Feb 2011 19:20:45 +0000 (19:20 +0000)]
Add proper attribution.
Pedro Alves [Mon, 14 Feb 2011 19:19:18 +0000 (19:19 +0000)]
gdb/
* memrange.c (compare_mem_ranges): Mention sort order in
describing comment.
(normalize_mem_ranges): Add comment. Fix ra->length calculation.
* tracepoint.c (traceframe_available_memory): Extend comment to
mention what happens to RESULT when the target does not support
the query.
Mike Frysinger [Mon, 14 Feb 2011 17:12:05 +0000 (17:12 +0000)]
opcodes: blackfin: fix style
Non-functional thrashing to the GNU style.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 17:03:45 +0000 (17:03 +0000)]
bfd/ld: handle ABI prefixes in version scripts
The default language in version scripts is supposed to be C, but no
symbol demangling is performed on the symbols by default. This makes
targets with a symbol prefix to fail with most version scripts out
there. So strip away this prefix by default.
This fixes many tests (real world and ld's testsuite) for Blackfin
targets and doesn't seem to cause regressions for x86_64.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Mon, 14 Feb 2011 12:54:42 +0000 (12:54 +0000)]
* value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
range.
Pedro Alves [Mon, 14 Feb 2011 11:52:48 +0000 (11:52 +0000)]
* value.c (value_bits_valid, value_bits_synthetic_pointer):
No longer handle NULL values.
Pedro Alves [Mon, 14 Feb 2011 11:35:45 +0000 (11:35 +0000)]
gdb/
* exceptions.h (NOT_AVAILABLE_ERROR): New error.
* value.c: Include "exceptions.h".
(require_available): Throw NOT_AVAILABLE_ERROR instead of a
generic error.
* cp-abi.c: Include gdb_assert.h.
(baseclass_offset): Add `embedded_offset' and `val' parameters.
Assert the method is implemented. Wrap NOT_AVAILABLE_ERROR
errors.
* cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
parameters. No longer returns -1 on error.
(struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
`val' parameters.
* cp-valprint.c: Include exceptions.h.
(cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
the baseclass_offset. Handle unavailable base classes. Use
val_print_invalid_address.
* p-valprint.c: Include exceptions.h.
(pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
when fetching the baseclass_offset. No longer expect
baseclass_offset returning -1. Handle unavailable base classes.
Use val_print_invalid_address.
* valops.c (dynamic_cast_check_1): Rename `contents' parameter to
`valaddr' parameter, and change its type to gdb_byte pointer. Add
`embedded_offset' and `val' parameters. Adjust.
(dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
parameter, and change its type to gdb_byte pointer. Add
`embedded_offset' and `val' parameters. Adjust. No longer expect
baseclass_offset returning -1.
(value_dynamic_cast): Use value_contents_for_printing rather than
value_contents. Adjust.
(search_struct_field): No longer expect baseclass_offset returning
-1.
(search_struct_method): If reading memory from the target is
necessary, wrap it in a new value to pass to baseclass_offset. No
longer expect baseclass_offset returning -1.
(find_method_list): No longer expect baseclass_offset returning
-1. Use value_contents_for_printing rather than value_contents.
* valprint.c (val_print_invalid_address): New function.
* valprint.h (val_print_invalid_address): Declare.
* gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
and `val' parameters. No longer expect baseclass_offset returning
-1. Adjust.
* gnu-v2-abi.c: Include "exceptions.h".
(gnuv2_baseclass_offset): Add `embedded_offset' and `val'
parameters. Handle unavailable memory. Recurse through
gnuv2_baseclass_offset directly, rather than through
baseclass_offset. No longer returns -1 on not found, instead
throw an error.
* gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
`val' parameters. Adjust.
gdb/testsuite/
* gdb.trace/unavailable.cc (class Base, class Middle, class
Derived): New types.
(derived_unavail, derived_partial, derived_whole): New globals.
(virtual_partial): New global.
(virtualp): Point at virtual_partial.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add tests
related to unavailable vptr.
Pedro Alves [Mon, 14 Feb 2011 11:34:31 +0000 (11:34 +0000)]
gdb/testuite/
* gdb.trace/unavailable.cc (a, b, c): New globals.
(main): Set and clear them.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Collect
`a' and `c', and check that `b' isn't collected, although `a' and
`c' are.
gdb/
* tracepoint.c (memrange_sortmerge): Don't merge ranges that are
almost but not quite adjacent.
Pedro Alves [Mon, 14 Feb 2011 11:33:24 +0000 (11:33 +0000)]
gdb/testsuite/
* gdb.trace/unavailable.cc (struct Virtual): New.
(virtualp): New global pointer.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test
printing a pointer to an object whose type has a vtable, with
print object on.
gdb/
* value.h (value_entirely_available): Declare.
* value.c (value_entirely_available): New function.
* c-valprint.c (c_value_print): Don't try fetching the pointer's
real type if the pointer is unavailable.
Pedro Alves [Mon, 14 Feb 2011 11:32:17 +0000 (11:32 +0000)]
gdb/
* valops.c (value_repeat): Use read_value_memory instead of
read_memory.
gdb/testsuite/
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test that
value repeat handles unavailableness.
Pedro Alves [Mon, 14 Feb 2011 11:30:37 +0000 (11:30 +0000)]
gdb/
* value.h (value_contents_copy, value_contents_copy_raw): Declare.
* value.c (value_contents_copy_raw, value_contents_copy): New
functions.
(value_primitive_field): Use value_contents_copy_raw instead of
memcpy.
* valops.c (value_fetch_lazy): Use value_contents_copy instead of
memcpy.
(value_array, value_slice): Ditto.
* valarith.c (value_subscripted_rvalue): Use
value_contents_copy_raw instead of memcpy.
gdb/testsuite/
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add new
tests for building arrays from unavailable values, subscripting
non-memory rvalue unvailable arrays, and accessing fields or
baseclasses of non-lazy unavailable values,
* gdb.trace/unavailable.cc (small_struct, small_struct_b): New
struct types.
(g_smallstruct, g_smallstruct_b): New globals.
Pedro Alves [Mon, 14 Feb 2011 11:29:04 +0000 (11:29 +0000)]
gdb/testsuite/
* gdb.trace/unavailable.cc, gdb.trace/unavailable.exp: New files.
Pedro Alves [Mon, 14 Feb 2011 11:27:36 +0000 (11:27 +0000)]
<unavailable> references.
gdb/
* valops.c (get_value_at): Use value_from_contents_and_address,
avoiding read_memory.
Pedro Alves [Mon, 14 Feb 2011 11:26:42 +0000 (11:26 +0000)]
gdb/
* c-valprint.c (c_val_print): Print a string with unavailable
contents as an array.
Pedro Alves [Mon, 14 Feb 2011 11:25:59 +0000 (11:25 +0000)]
gdb/
* value.h (unpack_bits_as_long): Delete declaration.
(unpack_value_bits_as_long): Declare.
(unpack_value_field_as_long): Declare.
(value_field_bitfield): Declare.
* value.c (unpack_bits_as_long): Rename to...
(unpack_value_bits_as_long_1): ... this. Add embedded_offset and
value parameters. Return the extracted result in a new output
parameter. If the value contents are unavailable, return false,
otherwise return true.
(unpack_value_bits_as_long): New.
(unpack_field_as_long): Rename to...
(unpack_value_field_as_long_1): ... this. Add embedded_offset and
Add embedded_offset and value parameters. Return the extracted
result in a new output parameter. If the value contents are
unavailable, return false, otherwise return true.
(unpack_value_field_as_long): New.
(unpack_field_as_long_1): New.
(unpack_field_as_long): Reimplement as wrapper around
unpack_value_field_as_long_1.
(value_field_bitfield): New function.
* valops.c (value_fetch_lazy): When fetching a bitfield, use
unpack_value_bits_as_long. Mark the value as unavailable, if it
is unavailable.
* jv-valprint.c (java_print_value_fields): Use
value_field_bitfield.
* p-valprint.c (pascal_object_print_value_fields): Use
value_field_bitfield.
* cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
Pedro Alves [Mon, 14 Feb 2011 11:25:12 +0000 (11:25 +0000)]
* value.c (get_internalvar_integer): Also return the int value of
TYPE_CODE_INT INTERNALVAR_VALUE values.
(set_internalvar): Don't special case TYPE_CODE_INT.
Pedro Alves [Mon, 14 Feb 2011 11:24:19 +0000 (11:24 +0000)]
gdb/
* value.c (struct internalvar) <enum internalvar_kind>: Remove
INTERNALVAR_POINTER.
<pointer>: Delete.
(value_of_internalvar): Remove INTERNALVAR_POINTER handling.
(set_internalvar): Remove special TYPE_CODE_PTR handling.
(preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
Pedro Alves [Mon, 14 Feb 2011 11:23:33 +0000 (11:23 +0000)]
gdb/
* value.h (value_available_contents_eq): Declare.
* value.c (find_first_range_overlap): New function.
(value_available_contents_eq): New function.
* valprint.c (val_print_array_elements): Use
value_available_contents_eq.
* ada-valprint.c (val_print_packed_array_elements): Use
value_available_contents_eq.
* jv-valprint.c (java_value_print): Use
value_available_contents_eq.
Pedro Alves [Mon, 14 Feb 2011 11:22:29 +0000 (11:22 +0000)]
gdb/
* target.c (target_read_live_memory): New function.
(memory_xfer_live_readonly_partial): New.
(memory_xfer_partial): If reading from a traceframe, fallback to
reading unavailable read-only memory from read-only regions of
live target memory.
* tracepoint.c (disconnect_tracing): Adjust.
(set_current_traceframe): New, factored out from
set_traceframe_number.
(set_traceframe_number): Reimplement to only change the traceframe
number on the GDB side.
(do_restore_current_traceframe_cleanup): Adjust.
(make_cleanup_restore_traceframe_number): New.
(cur_traceframe_number): New global.
(tfile_open): Set cur_traceframe_number to no traceframe.
(set_tfile_traceframe): New function.
(tfile_trace_find): If looking up a traceframe using any method
other than by number, make sure the current tfile traceframe
matches gdb's current traceframe. Update the current tfile
traceframe if the lookup succeeded.
(tfile_fetch_registers, tfile_xfer_partial)
(tfile_get_trace_state_variable_value): Make sure the remote
traceframe matches gdb's current traceframe.
* remote.c (remote_traceframe_number): New global.
(remote_open_1): Set it to -1.
(set_remote_traceframe): New function.
(remote_fetch_registers, remote_store_registers)
(remote_xfer_memory, remote_xfer_partial)
(remote_get_trace_state_variable_value): Make sure the remote
traceframe matches gdb's current traceframe.
(remote_trace_find): If looking up a traceframe using any method
other than by number, make sure the current remote traceframe
matches gdb's current traceframe. Update the current remote
traceframe if the lookup succeeded.
* infrun.c (fetch_inferior_event): Adjust.
* tracepoint.h (set_current_traceframe): Declare.
(get_traceframe_number, set_traceframe_number): Add describing
comments.
Pedro Alves [Mon, 14 Feb 2011 11:21:25 +0000 (11:21 +0000)]
Mark pieces of values as unavailable if the corresponding memory
is unavailable.
gdb/
* valops.c: Include tracepoint.h.
(value_fetch_lazy): Use read_value_memory.
(read_value_memory): New.
* value.h (read_value_memory): Declare.
* dwarf2loc.c (read_pieced_value): Use read_value_memory.
* exec.c (section_table_available_memory): New function.
* exec.h (section_table_available_memory): Declare.
Pedro Alves [Mon, 14 Feb 2011 11:20:27 +0000 (11:20 +0000)]
2011-02-14 Pedro Alves <pedro@codesourcery.com>
gdb/
* Makefile.in (SFILES): Add memrange.c.
(HFILES_NO_SRCDIR): Add memrange.h.
(COMMON_OBS): Add memrange.o.
* memrange.c: New file.
* memrange.h: New file.
* tracepoint.c: Include memrange.h.
(struct mem_range): Delete.
(mem_range_s): Delete.
(traceframe_available_memory): New function.
* tracepoint.h (traceframe_available_memory): Declare.
Pedro Alves [Mon, 14 Feb 2011 11:19:26 +0000 (11:19 +0000)]
2011-02-14 Pedro Alves <pedro@codesourcery.com>
gdb/
* target.h (struct traceframe_info): Forward declare.
(enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
(struct target_ops) <to_traceframe_info>: New field.
(target_traceframe_info): New.
* target.c (update_current_target): Inherit and default
to_traceframe_info.
* remote.c (PACKET_qXfer_traceframe_info): New.
(remote_protocol_features): Register qXfer:traceframe-info:read.
(remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
(remote_traceframe_info): New.
(init_remote_ops): Install it.
(_initialize_remote): Install "set/show remote traceframe-info"
commands.
* tracepoint.h (parse_traceframe_info): Declare.
* tracepoint.c (struct mem_range): New.
(mem_range_s): New typedef.
(struct traceframe_info): New.
(traceframe_info): New global.
(free_traceframe_info): New function.
(clear_traceframe_info): New function.
(start_tracing, tfind_1, set_traceframe_number): Clear traceframe
info.
(build_traceframe_info): New function.
(tfile_traceframe_info): New function.
(init_tfile_ops): Install tfile_traceframe_info.
(traceframe_info_start_memory, free_result): New functions.
(memory_attributes, traceframe_info_elements): New globals.
(parse_traceframe_info, get_traceframe_info): New functions.
* features/traceframe-info.dtd: New file.
* Makefile.in (XMLFILES): Add traceframe-info.dtd.
gdb/gdbserver/
* server.c (handle_qxfer_traceframe_info): New.
(qxfer_packets): Register "traceframe-info".
(handle_query): Report support for qXfer:traceframe-info:read+.
* tracepoint.c (match_blocktype): New.
(traceframe_find_block_type): Rename to ...
(traceframe_walk_blocks): ... this. Add callback filter argument,
and use it.
(traceframe_find_block_type): New, reimplemented on top of
traceframe_walk_blocks.
(build_traceframe_info_xml): New.
(traceframe_read_info): New.
* server.h (traceframe_read_info): Declare.
gdb/doc/
* gdb.texinfo (Remote Configuration): Mention set/show remote
traceframe-info.
(Tools/Packages Optional for Building GDB): Mention that expat is
used for traceframe info.
(Remote Protocol) <Menu>: Add "Traceframe Info Format".
(General Query Packets) <qSupported>: Describe the
qXfer:traceframe-info:read feature.
(qXfer::read): Describe qXfer:traceframe-info:read.
(Traceframe Info Format): New section.
Pedro Alves [Mon, 14 Feb 2011 11:13:12 +0000 (11:13 +0000)]
gdb/
* target.h (struct traceframe_info): Forward declare.
(enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
(struct target_ops) <to_traceframe_info>: New field.
(target_traceframe_info): New.
* target.c (update_current_target): Inherit and default
to_traceframe_info.
* remote.c (PACKET_qXfer_traceframe_info): New.
(remote_protocol_features): Register qXfer:traceframe-info:read.
(remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
(remote_traceframe_info): New.
(init_remote_ops): Install it.
(_initialize_remote): Install "set/show remote traceframe-info"
commands.
* tracepoint.h (parse_traceframe_info): Declare.
* tracepoint.c (struct mem_range): New.
(mem_range_s): New typedef.
(struct traceframe_info): New.
(traceframe_info): New global.
(free_traceframe_info): New function.
(clear_traceframe_info): New function.
(start_tracing, tfind_1, set_traceframe_number): Clear traceframe
info.
(build_traceframe_info): New function.
(tfile_traceframe_info): New function.
(init_tfile_ops): Install tfile_traceframe_info.
(traceframe_info_start_memory, free_result): New functions.
(memory_attributes, traceframe_info_elements): New globals.
(parse_traceframe_info, get_traceframe_info): New functions.
* features/traceframe-info.dtd: New file.
* Makefile.in (XMLFILES): Add traceframe-info.dtd.
gdb/gdbserver/
* server.c (handle_qxfer_traceframe_info): New.
(qxfer_packets): Register "traceframe-info".
(handle_query): Report support for qXfer:traceframe-info:read+.
* tracepoint.c (match_blocktype): New.
(traceframe_find_block_type): Rename to ...
(traceframe_walk_blocks): ... this. Add callback filter argument,
and use it.
(traceframe_find_block_type): New, reimplemented on top of
traceframe_walk_blocks.
(build_traceframe_info_xml): New.
(traceframe_read_info): New.
* server.h (traceframe_read_info): Declare.
gdb/doc/
* gdb.texinfo (Remote Configuration): Mention set/show remote
traceframe-info.
(Tools/Packages Optional for Building GDB): Mention that expat is
used for traceframe info.
(Remote Protocol) <Menu>: Add "Traceframe Info Format".
(General Query Packets) <qSupported>: Describe the
qXfer:traceframe-info:read feature.
(qXfer::read): Describe qXfer:traceframe-info:read.
(Traceframe Info Format): New section.
Pedro Alves [Mon, 14 Feb 2011 11:10:53 +0000 (11:10 +0000)]
Base support for <unavailable> value contents.
gdb/
* value.h (value_bytes_available): Declare.
(mark_value_bytes_unavailable): Declare.
* value.c (struct range): New struct.
(range_s): New typedef.
(ranges_overlap): New function.
(range_lessthan): New function.
(ranges_contain_p): New function.
(struct value) <unavailable>: New field.
(value_bytes_available): New function.
(mark_value_bytes_unavailable): New function.
(require_not_optimized_out): Constify parameter.
(require_available): New function.
(value_contents_all, value_contents): Require all bytes be
available.
(value_free): Free `unavailable'.
(value_copy): Copy `unavailable'.
* valprint.h (val_print_unavailable): Declare.
* valprint.c (valprint_check_validity): Rename `offset' parameter
to `embedded_offset'. If printing a scalar, check whether the
value chunk is available.
(val_print_unavailable): New.
(val_print_scalar_formatted): Check whether the value is
available.
* python/py-prettyprint.c (apply_val_pretty_printer): Refuse
pretty-printing unavailable values.
Alan Modra [Mon, 14 Feb 2011 09:53:15 +0000 (09:53 +0000)]
* ldmain.c (remove_output): Rename to..
(ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
(main): Adjust.
* plugin.c (plugin_call_cleanup): Make global.
(plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
* plugin.h (plugin_call_cleanup): Declare.
Mike Frysinger [Mon, 14 Feb 2011 05:21:04 +0000 (05:21 +0000)]
opcodes: blackfin: catch invalid loopsetup insns
The LoopSetup insn is only valid when the reg field is 0-7, so
don't go decoding it incorrectly when reg is 8-15.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 05:14:28 +0000 (05:14 +0000)]
sim: punt zfree()
The sim keeps track of which allocations are zero-ed internally (via
zalloc) and then calls a helper "zfree" function rather than "free".
But this "zfree" function simply calls "free" itself. Since I can
see no point in this and it is simply useless overhead, punt it.
The only real change is in hw-alloc.c where we remove the zalloc_p
tracking, and sim-utils.c where zfree is delete. The rest of the
changes are a simple `sed` from "zfree" to "free".
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 04:58:12 +0000 (04:58 +0000)]
sim: change to 64bit time keeping to avoid 32bit overflows
The sim-events code jumps through some hoops to avoid using 64bit math
to manage the current time. One fundamental assumption here is that by
constantly scheduling the sim poll event a short time into the future,
the 64bit difference will always fall into a signed 32bit value. This
does work most of the time, except for when processing the sim poll event
itself.
Normally, sim_events_process() will dequeue the sim poll event, update
the current time (time_from_event) according to the next pending event,
process the sim poll event (which will then requeue the sim poll event),
and then continue on.
The problem here of course is that the current time is updated in that
small window before the sim poll event gets a chance to reschedule itself.
So if the 64bit difference between the current time and the next event
does not fit into the signed 32bit value, time_from_event overflows, and
the internal assert at the end of update_time_from_event() triggers.
Since attempts at tweaking sim_events_process() logic introduced other
subtle bugs (due to tangled assumptions between most pieces of the sim
time keeping code), change the time_from_event to a real 64bit value.
Tests on my system between a 32bit ELF and a 64bit ELF show no practical
difference (it's all lost in the system noise). Basically, I booted a
Linux kernel to userspace and then paniced it; this gave me a constant
sample size of about 18 million insns.
This was noticed when simulating Blackfin Das U-Boot. The simulated core
timer is given the max unsigned timeout value possible on a 32bit processor
(0xffffffff). This timeout value is used directly to schedule a hw event
in the sim future (the IRQ firing). Once the sim poll event is kicked off,
the next pending event is the core timer event which is more than 2^31
ticks in the future, and the sim aborts with:
sim-events.c:435: assertion failed - current_time == sim_events_time (sd)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Mon, 14 Feb 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 13 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
Ralf Wildenhues [Sun, 13 Feb 2011 21:00:14 +0000 (21:00 +0000)]
Remove freebsd1 from libtool.m4 macros and config.rpath.
/:
Import from Libtool and gnulib:
2011-01-27 Gerald Pfeifer <gerald@pfeifer.com>
Prepare for supporting FreeBSD 10.
* config.rpath: Remove handling of freebsd1* which soon would
match FreeBSD 10.0.
2011-01-20 Gerald Pfeifer <gerald@pfeifer.com> (tiny change)
Remove support for FreeBSD 1.x.
* libtool.m4 (_LT_LINKER_SHLIBS)
(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
soon would incorrectly match FreeBSD 10.0.
bfd/:
* configure: Regenerate.
gas/:
* configure: Regenerate.
ld/:
* configure: Regenerate.
opcodes/:
* configure: Regenerate.
binutils/:
* configure: Regenerate.
gprof/:
* configure: Regenerate.
Mike Frysinger [Sun, 13 Feb 2011 18:55:22 +0000 (18:55 +0000)]
opcodes: blackfin: fix decoding of ABS
The single cycle dual mac ABS insn was incorrectly decoding the mac1
part of the insn.
Once we fix the decode, update the gas tests to have the correct output.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 13 Feb 2011 18:54:49 +0000 (18:54 +0000)]
opcodes: blackfin: fix decoding of dsp mult insns
When assigning to a register half, the mac0 part of the mult insn
was not decoding properly. It would always show a full dreg instead
of the dreg low half.
Once we fix the disassembler, we have to update a few of the gas
tests as their previous expected output was incorrect.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 13 Feb 2011 18:53:16 +0000 (18:53 +0000)]
gas/opcodes: blackfin: punt BYTEOP2M insn support
The BYTEOP2M insn was part of the initial Blackfin designs, but never made
it into any actual silicon. So punt support for it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Jan Kratochvil [Sun, 13 Feb 2011 09:15:54 +0000 (09:15 +0000)]
gdb/
Fix const/volatile qualifiers of C++ types, PR c++/12328.
* c-typeprint.c (c_type_print_args): Update the function comment. New
variable param_type, initialize it. Remove const/volatile qualifiers
for language_cplus and !show_artificial. Use param_type.
gdb/testsuite/
Fix const/volatile qualifiers of C++ types, PR c++/12328.
* gdb.cp/overload-const.exp: New file.
* gdb.cp/overload-const.cc: New file.
Jan Kratochvil [Sun, 13 Feb 2011 09:09:36 +0000 (09:09 +0000)]
gdb/
* symtab.c (find_pc_sect_line): New variable objfile, initialize it
from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
* symtab.h (struct symtab) <next>: Comment extension.
gdbadmin [Sun, 13 Feb 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 12 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Mike Frysinger [Sat, 12 Feb 2011 19:38:11 +0000 (19:38 +0000)]
opcodes: blackfin: add missing space after PRNT insn
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 12 Feb 2011 19:37:32 +0000 (19:37 +0000)]
opcodes: blackfin: drop "GP" register
There never was a "GP" register, so punt it from the decode map. It's
a hold over from a very old processor definition and never made it into
actual silicon.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 12 Feb 2011 19:36:31 +0000 (19:36 +0000)]
gas/opcodes: blackfin: move dsp mac func defines to common header
The mmod field is decoded in a few places (gas/opcodes/sim), so move it to
a common place to avoid duplication.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Ralf Wildenhues [Sat, 12 Feb 2011 15:47:02 +0000 (15:47 +0000)]
Import move-if-change script from gnulib.
/:
PR binutils/12283
* MAINTAINERS (mkinstalldirs): Comes from Automake.
(move-if-change): Comes from gnulib.
* move-if-change: Import version from gnulib.
Ralf Wildenhues [Sat, 12 Feb 2011 14:40:09 +0000 (14:40 +0000)]
Sync toplevel and config/ from GCC.
/:
Sync from GCC:
2011-02-12 Alexandre Oliva <aoliva@redhat.com>
PR lto/47225
* Makefile.def (lto-plugin): Double dash for enable-shared.
(configure-gcc): Depend on all-lto-plugin.
* Makefile.in: Rebuilt.
2011-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac: Remove extra bracket.
* configure: Regenerate.
2011-02-06 Kai Tietz <kai.tietz@onevision.com>
PR lto/47225
* Makefile.def: Add dependency for install-gcc
on install-lto-plugin.
* Makfile.in: Regenerated
2011-01-25 Jakub Jelinek <jakub@redhat.com>
* configure.ac: If with_ppl is no, move setting with_cloog=no
after CLOOG_REQUESTED check.
* configure: Regenerated.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
CLooG has been requested.
* configure: Regenerated.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* configure: Regenerated.
* configure.ac: Check for version 0.11 (or later revision) of PPL.
2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
* configure: Regenerated.
* configure.ac: Use CLOOG_CHECK_VERSION(0,16,1).
2011-01-07 Jan Hubicka <jh@suse.cz>
PR lto/47225
* Makefile.in: Regenerate.
* Makefile.def (lto-plugin): Always pass enable-shared to the plugin
configure.
config/:
2011-01-25 Jakub Jelinek <jakub@redhat.com>
* cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
2011-01-10 Jan Hubicka <jh@suse.cz>
* bootstrap-lto.mk: -fuse-linker-plugin is default now;
pass -fno-lto to STAGEprofile.