external/binutils.git
13 years agoadd xfail for "print u_var" test in gdb.ada/packed_array.exp
Joel Brobecker [Mon, 21 Feb 2011 10:12:14 +0000 (10:12 +0000)]
add xfail for "print u_var" test in gdb.ada/packed_array.exp

gdb/testsuite/ChangeLog:

        * gdb.ada/packed_array.exp: Add xfail for "print u_var" if
        the debugger is unable to find the array bounds.

13 years ago2011-02-21 Hui Zhu <teawater@gmail.com>
Hui Zhu [Mon, 21 Feb 2011 08:40:27 +0000 (08:40 +0000)]
2011-02-21  Hui Zhu  <teawater@gmail.com>

* agentexpr.texi (Bytecode Descriptions): Add printf.
* gdb.texinfo (Tracepoint Action Lists): Add printf.

13 years ago2011-02-21 Hui Zhu <teawater@gmail.com>
Hui Zhu [Mon, 21 Feb 2011 08:39:14 +0000 (08:39 +0000)]
2011-02-21  Hui Zhu  <teawater@gmail.com>

* tracepoint.c (tp_printf): New function.
(eval_agent_expr): Handle gdb_agent_op_printf.

13 years ago2011-02-21 Hui Zhu <teawater@gmail.com>
Hui Zhu [Mon, 21 Feb 2011 08:38:14 +0000 (08:38 +0000)]
2011-02-21  Hui Zhu  <teawater@gmail.com>

* Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
* ax-gdb.c (gen_printf_expr_callback): New function.
* ax-gdb.h (gen_printf_expr_callback): Forward declare.
* ax-general.c (ax_memcpy): New function.
(ax_print): Handle "printf".
(ax_reqs): Ditto.
* ax.h (ax_memcpy): Forward declare.
* common/ax.def (invalid2): Removed.
(printf): New entry.
* printcmd.c (printcmd.h): New include.
(string_printf): New function.
(ui_printf): Removed.
(printf_command): Remove static.  Call string_printf.
(eval_command): Call string_printf.
* printcmd.h: New file.
* tracepoint.c (validate_actionline,
encode_actions_1): handle printf_command.

13 years ago*** empty log message ***
gdbadmin [Mon, 21 Feb 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Sun, 20 Feb 2011 23:00:06 +0000 (23:00 +0000)]
daily update

13 years agoopcodes: blackfin: clean up saved_state
Mike Frysinger [Sun, 20 Feb 2011 01:26:14 +0000 (01:26 +0000)]
opcodes: blackfin: clean up saved_state

Mark the state static, punt unused members, unify indexable register
lookups, and abort when there is a register lookup failure.  Otherwise
we return NULL and the calling code assumes a valid pointer is returned.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years ago*** empty log message ***
gdbadmin [Sun, 20 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Sat, 19 Feb 2011 23:00:06 +0000 (23:00 +0000)]
daily update

13 years ago2011-02-19 Michael Snyder <msnyder@vmware.com>
Michael Snyder [Sat, 19 Feb 2011 19:10:48 +0000 (19:10 +0000)]
2011-02-19  Michael Snyder  <msnyder@vmware.com>

* reverse.c (delete_one_bookmark): Argument is now bookmark
id rather than pointer to bookmark struct.
(delete_bookmark_command): Use get_number_or_range.
(goto_bookmark_command): Parse with get_number instead of strtoul.
(bookmark_1): New function.  Print info for one bookmark.
(bookmarks_info): Use get_number_or_range and bookmark_1.

13 years ago2011-02-18 Michael Snyder <msnyder@vmware.com>
Michael Snyder [Sat, 19 Feb 2011 01:24:55 +0000 (01:24 +0000)]
2011-02-18  Michael Snyder  <msnyder@vmware.com>

* thread.c (thread_apply_command): Re-implement using
get_number_or_range.

13 years ago2011-02-18 Michael Snyder <msnyder@vmware.com>
Michael Snyder [Sat, 19 Feb 2011 01:02:56 +0000 (01:02 +0000)]
2011-02-18  Michael Snyder  <msnyder@vmware.com>

* thread.c (info_threads_command): Re-implement using
get_number_or_range.

13 years ago*** empty log message ***
gdbadmin [Sat, 19 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Fri, 18 Feb 2011 23:00:06 +0000 (23:00 +0000)]
daily update

13 years agogdb
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.

13 years agogdb
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.

13 years ago * Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc.
Tom Tromey [Fri, 18 Feb 2011 20:31:18 +0000 (20:31 +0000)]
* Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc.

13 years agogdb/
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.

13 years ago PR ld/12376
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.

13 years ago * breakpoint.c (get_number_trailer): No longer accept a NULL PP.
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.

13 years ago2010-02-18 Rafael Ávila de Espíndola <respindola@mozilla.com>
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.

13 years ago * c-valprint.c (c_val_print): Add embedded_offset to address
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.

13 years ago2011-02-18 Yao Qi <yao@codesourcery.com>
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.

13 years ago*** empty log message ***
gdbadmin [Fri, 18 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Thu, 17 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update

13 years ago2011-02-17 Michael Snyder <msnyder@vmware.com>
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.

13 years agoPrefix filenames with gdb.trace/
Pedro Alves [Thu, 17 Feb 2011 19:06:07 +0000 (19:06 +0000)]
Prefix filenames with gdb.trace/

13 years ago * dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
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.

13 years agoRevert the last change to elf64-x86-64.c.
H.J. Lu [Thu, 17 Feb 2011 13:51:52 +0000 (13:51 +0000)]
Revert the last change to elf64-x86-64.c.

13 years ago[Ada] Fix unconstrained packed array size
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.

13 years agodw2-ranges.exp: simplify using clean_restart
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.

13 years ago2011-02-17 Yao Qi <yao@codesourcery.com>
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.

13 years ago*** empty log message ***
gdbadmin [Thu, 17 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Wed, 16 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update

13 years ago * dwarf2loc.c (unimplemented): Fix typo.
Tom Tromey [Wed, 16 Feb 2011 21:45:38 +0000 (21:45 +0000)]
* dwarf2loc.c (unimplemented): Fix typo.

13 years ago * dwarf2loc.c (unimplemented): Handle unnamed opcodes.
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.

13 years ago * ax.h (struct aop_map) <name>: Now const.
Tom Tromey [Wed, 16 Feb 2011 21:02:29 +0000 (21:02 +0000)]
* ax.h (struct aop_map) <name>: Now const.

13 years agoChange x32 LIBPATH_SUFFIX to x32.
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.

13 years ago2011-02-16 Tom Tromey <tromey@redhat.com>
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.

13 years agoFix comment typo.
Richard Henderson [Wed, 16 Feb 2011 16:51:23 +0000 (16:51 +0000)]
Fix comment typo.

13 years agoDon't check relocation overflow for x32.
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.

13 years ago2011-02-16 Yao Qi <yao@qiyaows>
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.

13 years agogdb/testsuite/ChangeLog
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.

13 years ago2011-02-16 Pedro Alves <pedro@codesourcery.com>
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.

13 years agoFix pasto...
Pedro Alves [Wed, 16 Feb 2011 11:57:41 +0000 (11:57 +0000)]
Fix pasto...

13 years ago gdb/
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.

13 years ago * value.c (value_available_contents_eq): Remove redundant local
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.

13 years ago2011-02-16 Yao Qi <yao@codesourcery.com>
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.

13 years ago*** empty log message ***
gdbadmin [Wed, 16 Feb 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Tue, 15 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update

13 years ago2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
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.

13 years agoFix mis-merge of changelog.
Michael Snyder [Tue, 15 Feb 2011 21:25:05 +0000 (21:25 +0000)]
Fix mis-merge of changelog.

13 years ago2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
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.

13 years ago2011-02-15 Michael Snyder <msnyder@vmware.com>
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.

13 years agoMerge gdb/common/ChangeLog back to gdb/ChangeLog.
Jan Kratochvil [Tue, 15 Feb 2011 21:14:02 +0000 (21:14 +0000)]
Merge gdb/common/ChangeLog back to gdb/ChangeLog.

13 years agogdb/
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.

13 years agogdb/ChangeLog
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.

13 years ago * dw2gencfi.c (dot_cfi_dummy): New.
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.

13 years ago gdb/
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.

13 years ago2011-02-15 Kai Tietz <kai.tietz@onevision.com>
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.

13 years ago2011-02-15 Yao Qi <yao@codesourcery.com>
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

13 years agogdb/
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.

13 years ago2011-02-15 Tristan Gingold <gingold@adacore.com>
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.

13 years ago * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
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).

13 years ago*** empty log message ***
gdbadmin [Tue, 15 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

13 years ago2011-02-14 Michael Snyder <msnyder@vmware.com>
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").

13 years ago2011-02-14 Michael Snyder <msnyder@vmware.com>
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.

13 years agodaily update
Alan Modra [Mon, 14 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update

13 years ago * exec.c (section_table_available_memory): Change `len' parameter
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'.

13 years agoAdd proper attribution.
Pedro Alves [Mon, 14 Feb 2011 19:20:45 +0000 (19:20 +0000)]
Add proper attribution.

13 years ago gdb/
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.

13 years agoopcodes: blackfin: fix style
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>
13 years agobfd/ld: handle ABI prefixes in version scripts
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>
13 years ago * value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
Pedro Alves [Mon, 14 Feb 2011 12:54:42 +0000 (12:54 +0000)]
* value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
range.

13 years ago * value.c (value_bits_valid, value_bits_synthetic_pointer):
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.

13 years ago gdb/
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.

13 years ago gdb/testuite/
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.

13 years ago gdb/testsuite/
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.

13 years ago gdb/
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.

13 years ago gdb/
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.

13 years ago gdb/testsuite/
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.

13 years ago <unavailable> references.
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.

13 years ago gdb/
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.

13 years ago gdb/
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.

13 years ago * value.c (get_internalvar_integer): Also return the int value of
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.

13 years ago gdb/
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.

13 years ago gdb/
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.

13 years ago gdb/
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.

13 years ago Mark pieces of values as unavailable if the corresponding memory
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.

13 years ago2011-02-14 Pedro Alves <pedro@codesourcery.com>
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.

13 years ago2011-02-14 Pedro Alves <pedro@codesourcery.com>
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.

13 years ago gdb/
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.

13 years ago Base support for <unavailable> value contents.
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.

13 years ago * ldmain.c (remove_output): Rename to..
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.

13 years agoopcodes: blackfin: catch invalid loopsetup insns
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>
13 years agosim: punt zfree()
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>
13 years agosim: change to 64bit time keeping to avoid 32bit overflows
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>
13 years ago*** empty log message ***
gdbadmin [Mon, 14 Feb 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

13 years agodaily update
Alan Modra [Sun, 13 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update

13 years agoRemove freebsd1 from libtool.m4 macros and config.rpath.
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.