Nick Roberts [Fri, 2 Feb 2007 23:01:27 +0000 (23:01 +0000)]
* mi/mi-main.c: Include <sys/resource.h> if present.
(rusage): Declare if HAVE_GETRUSAGE.
(current_command_ts, do_timings): New static variables.
(timestamp, print_diff_now, print_diff, timeval_diff):
New static timing functions.
(mi_cmd_enable_timings): New function for new MI command.
(captured_mi_execute_command, mi_execute_async_cli_command):
Call timing functions.
* mi/mi-cmds.c (mi_cmds): Add entry for new MI command
-enable-timings.
* mi/mi-cmds.h (mi_cmd_enable_timings): New extern.
* mi/mi-parse.h: (mi_timestamp): New structure.
(mi_parse): Add mi_timestamp* member.
Jakub Jelinek [Fri, 2 Feb 2007 21:10:50 +0000 (21:10 +0000)]
* elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
* elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
(struct elf_symbol): Change first member into union.
(elf_sort_elf_symbol): Compare pointers to internal syms rather than
internal syms. Only compare st_shndx fields.
(elf_create_symbuf): New function.
(bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
for bfds, use a binary search, otherwise don't qsort symbols
unnecessarily only to select which symbols are for the particular
shndx.
Eli Zaretskii [Fri, 2 Feb 2007 19:48:50 +0000 (19:48 +0000)]
* gdbint.texinfo (Operation System ABI Variant Handling): Update
descriptions for new/deleted elements in gdb_osabi. Add missing
description for function generic_elf_osabi_sniff_abi_tag_sections.
H.J. Lu [Fri, 2 Feb 2007 13:59:54 +0000 (13:59 +0000)]
2076-02-02 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3945
* configure.in (DLLTOOL_DEFAULT): New. Defined for the first PE
target.
(DLLTOOL_DEFS): Add $DLLTOOL_DEFAULT.
* configure: Regenerated.
* dlltool.c (mname): Defined with DLLTOOL_DEFAULT_XXX.
Denis Pilat [Fri, 2 Feb 2007 12:18:37 +0000 (12:18 +0000)]
2007-02-02 Denis Pilat <denis.pilat@st.com>
* thread.c (make_cleanup_restore_current_thread): New function.
(info_threads_command): Use of make_cleanup_restore_current_thread
to restore the current thread and the selected frame.
(restore_selected_frame): New function.
(struct current_thread_cleanup): Add frame_id field.
(do_restore_current_thread_cleanup): Add restoring of the selected
frame.
(make_cleanup_restore_current_thread): Likewise.
(thread_apply_all_command): backup the selected frame while
entering the function and restore it at exit.
(thread_apply_command): Likewise.
Nick Clifton [Tue, 30 Jan 2007 14:44:36 +0000 (14:44 +0000)]
* as.c (main): Mark symbols created via the --defsym command line
option as volatile so that they can be overridden later on by a
.set directive. This maintains compatibility with the behaviour
of earlier versions of the assembler.
* doc/as.texinfo (--defsym): Document that the defined symbol's
value can be overridden via a .set directive.
Julian Brown [Mon, 29 Jan 2007 16:29:21 +0000 (16:29 +0000)]
* bfd-in2.h: Regenerate.
* bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
instruction scanning should be done.
(bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
(bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
(bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
prototype.
* elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
argument.
* elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
(VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
(elf32_vfp11_erratum_type): New enum.
(elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
veneers.
(_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
(elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
vfp11_fix and num_vfp11_fixes fields.
(elf32_arm_link_hash_table_create): Initialise vfp11_fix,
vfp11_erratum_glue_size, num_vfp11_fixes fields.
(VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
(bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
glue section.
(elf32_arm_section_map_add): Add an code/data mapping symbol entry
to a section's map.
(record_vfp11_erratum_veneer): Create a single veneer, and its
associated symbols.
(bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
(bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
BFDs.
(bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
required.
(bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
(bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
(bfd_arm_vfp11_write_mask): Update write mask according to coded
register number.
(bfd_arm_vfp11_antidependency): New function.
(bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
(elf32_arm_compare_mapping): Declare.
(bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
BFD for potential erratum-triggering insns. Record results.
(bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
and branches to veneers have been placed in virtual memory after
layout.
(bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
hash table.
(elf32_arm_output_symbol_hook): Remove.
(elf32_arm_write_section): Output veneers, and branches to veneers.
Use maps from input sections, not output sections, for code
byte-swapping.
* elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
* elf32-score.c (_bfd_score_elf_write_section): Likewise.
* elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
* elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
Eli Zaretskii [Sat, 27 Jan 2007 12:30:46 +0000 (12:30 +0000)]
* cli/cli-script.c: Include breakpoint.h.
(build_command_line): Require arguments only for if and while commands.
(get_command_line, execute_user_command, execute_control_command):
Fix wording of warning messages.
(print_command_lines): Print breakpoint commands.
(execute_control_command): Call commands_from_control_command to
handle the `commands' command inside a body of a flow-control command.
(read_next_line): Recognize the `commands' command and build a
command line structure for it.
(recurse_read_control_structure, read_command_lines): Handle
`commands' similarly to `if' and `while'.
* breakpoint.c (get_number_trailer): Document the special meaning
of NULL as the first argument PP.
(commands_from_control_command): New function.
Andreas Schwab [Sat, 27 Jan 2007 11:09:35 +0000 (11:09 +0000)]
* gdb.dwarf2/dw2-basic.S: Use .2byte/.4byte/.8byte instead of
.short/.int/.quad in the dwarf sections.
* gdb.dwarf2/dw2-intercu.S: Likewise.
* gdb.dwarf2/dw2-intermix.S: Likewise.
Jan Kratochvil [Fri, 26 Jan 2007 20:53:15 +0000 (20:53 +0000)]
* gdb.base/charsign.exp, gdb.base/charsign.c: New files.
* gdb.arch/i386-sse.exp: Check $xmm.v16_int8 printing as a number array.
* gdb.base/printcmds.exp: Sign-provided CHARs now became arrays.
* gdb.base/setvar.exp: Likewise.
Nick Clifton [Thu, 25 Jan 2007 09:32:41 +0000 (09:32 +0000)]
PR binutils/3874
* elf32-avr.c (avr_link_hash_table): Check to make sure that the hash table was created by elf32_avr_link_hash_table_create before using it.
(elf32_avr_link_hash_newfunc): New function. Just pass the call through to _bfd_elf_link_hash_newfunc.
(elf32_avr_link_hash_table_create): Use elf32_avr_link_hash_newfunc instead of _bfd_elf_link_hash_newfunc.
(elf32_avr_relocate_section): Check for the hash table pointer being NULL.
(elf32_avr_relax_section, avr_build_one_stub, elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs, elf32_avr_build_stubs): Likewise.
Jim Blandy [Wed, 24 Jan 2007 22:04:48 +0000 (22:04 +0000)]
2007-01-24 Jim Blandy <jimb@codesourcery.com>
* dwarf2loc.c (dwarf2_evaluate_loc_desc): When the location
expression is empty, bother to return the 'optimized out' value we
construct. (Thanks to Carl Burch.)
Vladimir Prus [Wed, 24 Jan 2007 11:08:47 +0000 (11:08 +0000)]
Refactor getting children name, value and type access
for varobjs in C++.
* varobj.c (get_type_deref): Remove.
(adjust_value_for_child_access): New.
(c_number_of_children): Use the above.
(c_describe_child): Likewise.
(enum accessibility): New.
(match_accessibility): New function.
(cplus_describe_child): New function.
(cplus_name_of_child, cplus_value_of_child)
(cplus_type_of_child): Reimplement in terms
of cplus_describe_child.
(cplus_number_of_children): Use
adjust_value_for_child_access.