Alan Modra [Thu, 29 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Paul Koning [Wed, 28 Sep 2011 20:06:01 +0000 (20:06 +0000)]
* gdb.python/py-type.c (enum E): New.
* gdb.python/py-type.exp (test_fields): Add tests for Python
mapping access to fields.
(test_enums): New test for field access on enums.
Paul Koning [Wed, 28 Sep 2011 20:04:52 +0000 (20:04 +0000)]
* python/py-type.c (make_fielditem, typy_field_names, typy_items)
(typy_length, typy_get, typy_has_key, typy_make_iter)
(typy_iterkeys, typy_iteritems, typy_itervalues, typy_iter)
(typy_iterator_iter, typy_iterator_iternext)
(typy_iterator_dealloc): New functions to implement standard
Python mapping methods on gdb.Type object.
(gdb.TypeIterator): New Python type.
* python/python-internal.h (gdbpy_iter_kind): New enum.
* doc/gdb.texinfo (gdb.Type): Document field access by dictionary
key syntax.
DJ Delorie [Wed, 28 Sep 2011 20:01:45 +0000 (20:01 +0000)]
merge from gcc
David S. Miller [Wed, 28 Sep 2011 17:59:42 +0000 (17:59 +0000)]
Fix complex floats on sparc.
* sparc-tdep.h (SPARC_F2_REGNUM, SPARC_F3_REGNUM, SPARC_F4_REGNUM,
SPARC_F5_REGNUM, SPARC_F6_REGNUM, SPARC_F7_REGNUM): New enums.
* sparc-tdep.c (sparc_complex_floating_p): New function.
(sparc32_store_arguments): Handle complex floats.
(sparc32_extract_return_value): Likewise.
(sparc32_store_return_value): Likewise.
(sparc32_stabs_argument_has_addr): Likewise.
* sparc64-tdep.c (sparc64_complex_floating_p): New function.
(sparc64_store_floating_fields): Handle complex floats.
(sparc64_store_arguments): Likewise.
(sparc64_store_return_value): Likewise.
Matthew Gretton-Dann [Wed, 28 Sep 2011 16:43:20 +0000 (16:43 +0000)]
* binutils/testsuite/binutils-all/elfedit-4.d: Give test a unique name.
Kai Tietz [Wed, 28 Sep 2011 12:04:24 +0000 (12:04 +0000)]
Another typo ... :(
Kai Tietz [Wed, 28 Sep 2011 12:01:12 +0000 (12:01 +0000)]
* gas/pe/section-exclude.d: Correct testcase.
Eli Zaretskii [Wed, 28 Sep 2011 09:07:54 +0000 (09:07 +0000)]
Support "set environment" and "unset environment" in MinGW builds.
* windows-nat.c (env_sort) [!__CYGWIN__]: Function restored from
before the change on 2006-12-09.
(windows_create_inferior) [!__CYGWIN__]: Restore code that
generates the environment block for CreateProcessA, modulo the
Cygwin-specific parts that are not needed here.
Tristan Gingold [Wed, 28 Sep 2011 07:22:39 +0000 (07:22 +0000)]
2011-09-28 Tristan Gingold <gingold@adacore.com>
* od-xcoff.c (dump_xcoff32_aout_header): Fix typo.
Ian Lance Taylor [Wed, 28 Sep 2011 00:55:35 +0000 (00:55 +0000)]
* symtab.cc (Symbol_table::define_special_symbol): Always
canonicalize version string.
gdbadmin [Wed, 28 Sep 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 28 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Kai Tietz [Tue, 27 Sep 2011 18:57:22 +0000 (18:57 +0000)]
2011-09-27 Kai Tietz <ktietz@redhat.com>
* config/obj-coff.c (obj_coff_section): Add 'e' as specifier
for marking section SEC_EXCLUDE.
2011-09-27 Kai Tietz <ktietz@redhat.com>
* gas/pe/pe.exp: Add new testcase.
* gas/pe/section-exclude.d: New file.
* gas/pe/section-exclude.s: New file.
Kai Tietz [Tue, 27 Sep 2011 16:03:49 +0000 (16:03 +0000)]
* coffcode.h (sec_to_styp_flags): Handle
SEC_LINK_DUPLICATES_SAME_CONTENTS, and
SEC_LINK_DUPLICATES_SAME_SIZE.
Kai Tietz [Tue, 27 Sep 2011 15:59:55 +0000 (15:59 +0000)]
* scripttempl/pe.sc (.text): Add support for
.gnu.linkonce.t.* section.
(.debug_info): Only use .gnu.linkonce.wi.* for
relocating.
* scripttempl/pep.sc: Likewise.
Tristan Gingold [Tue, 27 Sep 2011 15:30:18 +0000 (15:30 +0000)]
2011-09-27 Tristan Gingold <gingold@adacore.com>
* target.h (enum target_object): Add TARGET_OBJECT_DARWIN_DYLD_INFO.
* solib-darwin.c (DYLD_VERSION_MAX): Update number.
(darwin_solib_get_all_image_info_addr_at_init): New function.
(darwin_solib_read_all_image_info_addr): Likewise.
(darwin_solib_create_inferior_hook): Use the above two functions.
* darwin-nat.c (darwin_execvp): Renames retval to res.
(darwin_read_write_inferior): Update comment.
(darwin_read_dyld_info): New function.
(darwin_xfer_partial): Handle DYLD_INFO.
Stan Shebs [Tue, 27 Sep 2011 13:09:37 +0000 (13:09 +0000)]
Add return address collection for tracepoints.
* tracepoint.c (encode_actions_1): Add case for $_ret.
(validate_actionline): Check for $_ret.
(trace_dump_actions): Ditto.
* ax-gdb.h (gen_trace_for_return_address): Declare.
* ax-gdb.c: Include arch-utils.h.
(gen_trace_for_return_address): New function.
(agent_command): Add return address special case.
* amd64-tdep.c: Include ax.h and ax-gdb.h.
(amd64_gen_return_address): New function.
(amd64_init_abi): Call it.
* i386-tdep.c: Include ax.h and ax-gdb.h.
(i386_gen_return_address): New function.
(i386_init_abi): Call it.
* arch-utils.h (default_gen_return_address): Declare.
* arch-utils.c (default_gen_return_address): New function.
* gdbarch.sh (gen_return_address): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* gdb.texinfo (Tracepoint Action Lists): Document $_ret.
* gdb.trace/collection.exp: Test collection of $_ret.
Tristan Gingold [Tue, 27 Sep 2011 12:48:01 +0000 (12:48 +0000)]
2011-09-27 Tristan Gingold <gingold@adacore.com>
* od-xcoff.c (dump_xcoff32_aout_header): Remove some gettext macros.
(dump_xcoff32_sections_header): Likewise.
(dump_xcoff32_symbols, dump_xcoff32_relocs): Likewise.
(dump_xcoff32_lineno, dump_xcoff32_loader): Likewise.
(dump_xcoff32_except): Likewise.
(dump_xcoff32_typchk, dump_xcoff32_tbtags): Likewise.
Tristan Gingold [Tue, 27 Sep 2011 12:05:33 +0000 (12:05 +0000)]
2011-09-27 Tristan Gingold <gingold@adacore.com>
* readelf.c (print_ia64_vms_note): Fix xgettext warnings.
David S. Miller [Tue, 27 Sep 2011 04:30:32 +0000 (04:30 +0000)]
opcodes/
* sparc-opc.c (sparc_opcodes): Fix random instruction to write
to a float instead of an integer register.
gas/testsuite/
* gas/sparc/hpcvis3.s: Update to use float reg for random insn.
* gas/sparc/hpcvis3.d: Likewise.
DJ Delorie [Tue, 27 Sep 2011 00:01:35 +0000 (00:01 +0000)]
merge from gcc
Alan Modra [Tue, 27 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 27 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Cary Coutant [Mon, 26 Sep 2011 23:42:06 +0000 (23:42 +0000)]
* gold/gold.cc (queue_initial_tasks): Move option checks ...
* gold/options.cc (General_options::finalize): ... to here. Disable
some options; make others fatal.
DJ Delorie [Mon, 26 Sep 2011 23:05:03 +0000 (23:05 +0000)]
merge from gcc
Cary Coutant [Mon, 26 Sep 2011 23:00:17 +0000 (23:00 +0000)]
include/ChangeLog
gcc PR lto/47247
* plugin-api.h (enum ld_plugin_symbol_resolution): Add
LDPR_PREVAILING_DEF_IRONLY_EXP.
(enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2.
gold/ChangeLog
gcc PR lto/47247
* plugin.cc (get_symbols_v2): New function.
(Plugin::load): Add LDPT_GET_SYMBOLS_V2.
(is_referenced_from_outside): New function.
(Pluginobj::get_symbol_resolution_info): Add version parameter, return
LDPR_PREVAILING_DEF_IRONLY_EXP when using new version.
(get_symbols): Pass version parameter.
(get_symbols_v2): New function.
* plugin.h (Pluginobj::get_symbol_resolution_info): Add version
parameter.
* testsuite/plugin_test.c (get_symbols_v2): New static variable.
(onload): Add LDPT_GET_SYMBOLS_V2.
(all_symbols_read_hook): Use get_symbols_v2; check for
LDPR_PREVAILING_DEF_IRONLY_EXP.
* testsuite/plugin_test_3.sh: Update expected results.
David S. Miller [Mon, 26 Sep 2011 09:19:24 +0000 (09:19 +0000)]
Add sparc integer multiply-add instructions.
opcodes/
* sparc-opc.c (sparc_opcodes): Add integer multiply-add
instructions.
gas/testsuite/
* gas/sparc/ima.d: New test.
* gas/sparc/ima.s: New test source.
* gas/sparc/sparc.exp: Run new test.
gdbadmin [Mon, 26 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 26 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 25 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 25 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 24 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 24 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
DJ Delorie [Fri, 23 Sep 2011 22:21:36 +0000 (22:21 +0000)]
merge from gcc
DJ Delorie [Fri, 23 Sep 2011 20:01:11 +0000 (20:01 +0000)]
merge from gcc
Ian Lance Taylor [Fri, 23 Sep 2011 15:02:32 +0000 (15:02 +0000)]
* configure.ac: Add new --with-gold-ldadd and --with-gold-ldflags
configuration options.
* configure: Regenerate.
* Makefile.am: Handle GOLD_LDADD and GOLD_LDFLAGS.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
Joseph Myers [Fri, 23 Sep 2011 14:50:30 +0000 (14:50 +0000)]
PR gdb/13079
* i386-tdep.c (i386_frame_align): New.
(i386_gdbarch_init): Use i386_frame_align.
Yao Qi [Fri, 23 Sep 2011 07:27:19 +0000 (07:27 +0000)]
gdb/
* i386-linux-nat.c (i386_linux_resume): Use read_memory_unsigned_integer
to get address.
Alan Modra [Fri, 23 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 23 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Tristan Gingold [Thu, 22 Sep 2011 10:22:28 +0000 (10:22 +0000)]
2011-09-22 Tristan Gingold <gingold@adacore.com>
* fork-child.c (fork_inferior): Add exec_fun parameter.
Call exec_fun or execvp.
* inferior.h: Adjust prototype.
* gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call.
* inf-ttrace.c (inf_ttrace_create_inferior): Ditto.
* inf-ptrace.c (inf_ptrace_create_inferior): Ditto.
* procfs.c (procfs_create_inferior): Ditto.
* darwin-nat.c (darwin_execvp): New function.
(darwin_create_inferior): Use it.
Tristan Gingold [Thu, 22 Sep 2011 08:35:49 +0000 (08:35 +0000)]
bfd/
2011-09-22 Tristan Gingold <gingold@adacore.com>
* configure.in: Bump version to 2.22.51
* configure: Regenerate.
Tristan Gingold [Thu, 22 Sep 2011 08:11:16 +0000 (08:11 +0000)]
binutils/
2011-09-22 Tristan Gingold <gingold@adacore.com>
* NEWS: Add marker for 2.22.
gas/
2011-09-22 Tristan Gingold <gingold@adacore.com>
* NEWS: Add marker for 2.22.
ld/
2011-09-22 Tristan Gingold <gingold@adacore.com>
* NEWS: Add marker for 2.22.
Andreas Tobler [Thu, 22 Sep 2011 04:58:22 +0000 (04:58 +0000)]
2011-09-22 Andreas Tobler <andreast@fgznet.ch>
* lib/gdb.exp (gdb_compile): Set rpath and remove -ldl from the
list of compilation switches for <*-*-freebsd*>.
Yao Qi [Thu, 22 Sep 2011 02:58:31 +0000 (02:58 +0000)]
gdb/
* infrun.c (context_switch): Print debug message when switching to
a different thread.
David S. Miller [Thu, 22 Sep 2011 00:03:30 +0000 (00:03 +0000)]
Add new sparc options to control instruction availability.
gas/
* config/tc-sparc.c (hwcap_allowed): New.
(struct sparc_arch): New field 'hwcap_allowed' containing a bitmask
of F_FOO flags which are enabled by the particular arch setting.
Add new options that provide explicit access to new instructions.
(md_parse_option): Only bump max_architecture if the requested one
is larger, or this is the first explicit request.
(get_hwcap_name): New function.
(sparc_ip): Validate that hwcaps used by an instruction have actually
been enabled.
* doc/c-sparc.texi: Document new sparc options.
Alan Modra [Thu, 22 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 22 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
David S. Miller [Wed, 21 Sep 2011 22:29:55 +0000 (22:29 +0000)]
Fix sparc testcases when building with 64-bit default.
gas/testsuite/
* gas/sparc/imm-plus-rreg.d: Fix address regex for 64-bit.
* gas/sparc/save-args.d: Likewise.
* gas/sparc/ticc-imm-reg.d: Likewise, add -32 to options.
* gas/sparc/v8-movwr-imm.d: Likewise.
David S. Miller [Wed, 21 Sep 2011 20:49:16 +0000 (20:49 +0000)]
Annotate sparc objects with cpu hardware capabilities used.
bfd/
* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New.
* elfxx-sparc.h: Declare it.
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it.
* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
binutils/
* readelf.c (display_sparc_hwcaps): New.
(display_sparc_gnu_attribute): New.
(process_sparc_specific): New.
(process_arch_specific): When EM_SPARC, EM_SPARC32PLUS,
or EM_SPARCV9 invoke process_sparc_specific.
gas/
* config/tc-sparc.c (hwcap_seen): New bitmask, defined when
not TE_SOLARIS.
(sparc_ip): When not TE_SOLARIS, accumulate hwcap bits from
sparc_opcode->flags of instruction into hwcap_seen.
(sparc_md_end): Create Tag_GNU_Sparc_HWCAPS attribute if
hwcap_seen is non-zero and not TE_SOLARIS.
gas/testsuite/
* gas/sparc/hpcvis3.s: Update for fixed fchksum16 mnemonic.
* gas/sparc/hpcvis3.d: Likewise.
include/elf/
* sparc.h (Tag_GNU_Sparc_HWCAPS): New object attribute.
(ELF_SPARC_HWCAP_*): New HWCAPS bitmask values.
include/opcode/
* sparc.h (struct sparc_opcode): Expand 'flags' to unsigned int.
(F_MUL32, F_DIV32, F_FSMULD, F_V8PLUS, F_POPC, F_VIS, F_VIS2,
F_ASI_BLK_INIT, F_FMAF, F_VIS3, F_HPC, F_RANDOM, F_TRANS,
F_FJFMAU, F_IMA, F_ASI_CACHE_SPARING): New flag bits.
opcodes/
* sparc-opc.c (sparc_opcodes): Annotate table with HWCAP flag
bits. Fix "fchksm16" mnemonic.
David S. Miller [Wed, 21 Sep 2011 18:39:48 +0000 (18:39 +0000)]
* MAINTAINER: Take over from Jakub Jalinek as SPARC maintainer.
Ulrich Weigand [Wed, 21 Sep 2011 17:00:31 +0000 (17:00 +0000)]
* s390-tdep.c (s390_function_arg_pass_by_reference): Handle
complex and vector types.
(s390_return_value_convention): Likewise.
(s390_value_from_register): Call check_typedef.
(extend_simple_arg): Likewise.
(alignment_of): Likewise.
(s390_push_dummy_call): Likewise.
(s390_return_value): Likewise.
Ulrich Weigand [Wed, 21 Sep 2011 16:49:14 +0000 (16:49 +0000)]
Fix ChangeLog dates.
Ulrich Weigand [Wed, 21 Sep 2011 16:15:27 +0000 (16:15 +0000)]
* linux-arm-low.c (struct arm_linux_hwbp_cap): Remove.
(arm_linux_hwbp_cap): New static variable.
(arm_linux_get_hwbp_cap): Replace by ...
(arm_linux_init_hwbp_cap): ... this new function.
(arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap.
(arm_linux_get_hw_watchpoint_count): Likewise.
(arm_linux_get_hw_watchpoint_max_length): Likewise.
(arm_arch_setup): Call arm_linux_init_hwbp_cap.
(arm_prepare_to_resume): Use perror_with_name instead of error.
Joseph Myers [Wed, 21 Sep 2011 15:21:28 +0000 (15:21 +0000)]
* event-top.c (async_disconnect): If an exception is thrown from
quit_cover, call pop_all_targets. Use TRY_CATCH instead of
catch_errors.
* top.c (quit_cover): Return void and take no arguments.
* top.h (quit_cover): Update prototype.
Ulrich Weigand [Wed, 21 Sep 2011 12:39:50 +0000 (12:39 +0000)]
* linux-arm-low.c: Include <signal.h>.
(PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary.
(struct arm_linux_hwbp_cap): New data type.
(arm_hwbp_type, arm_hwbp_control_t): New typedefs.
(struct arm_linux_hw_breakpoint): New data type.
(MAX_BPTS, MAX_WPTS): Define.
(struct arch_process_info, struct arch_lwp_info): New data types.
(arm_linux_get_hwbp_cap): New function.
(arm_linux_get_hw_breakpoint_count): Likewise.
(arm_linux_get_hw_watchpoint_count): Likewise.
(arm_linux_get_hw_watchpoint_max_length): Likewise.
(arm_hwbp_control_initialize): Likewise.
(arm_hwbp_control_is_enabled): Likewise.
(arm_hwbp_control_is_initialized): Likewise.
(arm_hwbp_control_disable): Likewise.
(arm_linux_hw_breakpoint_equal): Likewise.
(arm_linux_hw_point_initialize): Likewise.
(struct update_registers_data): New data structure.
(update_registers_callback: New function.
(arm_insert_point): Likewise.
(arm_remove_point): Likewise.
(arm_stopped_by_watchpoint): Likewise.
(arm_stopped_data_address): Likewise.
(arm_new_process): Likewise.
(arm_new_thread): Likewise.
(arm_prepare_to_resume): Likewise.
(the_low_target): Register arm_insert_point, arm_remove_point,
arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process,
arm_new_thread, and arm_prepare_to_resume.
Tristan Gingold [Wed, 21 Sep 2011 10:10:11 +0000 (10:10 +0000)]
2011-09-21 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment.
Deals with size limited strings.
(bfd_mach_o_build_commands): Initialize more fields.
gdbadmin [Wed, 21 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 21 Sep 2011 00:00:07 +0000 (00:00 +0000)]
daily update
Joseph Myers [Tue, 20 Sep 2011 15:19:28 +0000 (15:19 +0000)]
* mi/mi-main.c (mi_load_progress): Restore saved_uiout value to
current_uiout, not uiout.
Alan Modra [Tue, 20 Sep 2011 05:01:55 +0000 (05:01 +0000)]
fix pr reference
Alan Modra [Tue, 20 Sep 2011 04:58:56 +0000 (04:58 +0000)]
PR ld/12301
* ldlang.h (lang_input_statement_type): Add "reload" bitfield.
Clarify comments.
* ldlang.c (new_afile): Init new field.
(load_symbols): Don't call ldlang_add_file when reloading.
(open_input_bfds): Reload as-needed libs during plugin rescan.
Alan Modra [Tue, 20 Sep 2011 00:00:09 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 20 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Sriraman Tallam [Mon, 19 Sep 2011 23:19:16 +0000 (23:19 +0000)]
2011-09-19 Sriraman Tallam <tmsriram@google.com>
* plugin.h (should_defer_layout): Modify to check for any_claimed_.
Cary Coutant [Mon, 19 Sep 2011 19:29:55 +0000 (19:29 +0000)]
* incremental.cc (can_incremental_update): Fix typo in comment.
* incremental.h (can_incremental_update): Likewise.
Doug Evans [Mon, 19 Sep 2011 19:01:40 +0000 (19:01 +0000)]
* python/py-auto-load.c (source_section_scripts): Fix file
descriptor leak.
* python/python.c (source_python_script_for_objfile): Tweak comments.
Stan Shebs [Mon, 19 Sep 2011 16:55:26 +0000 (16:55 +0000)]
* gdb.trace/tspeed.exp: New file.
* gdb.trace/tspeed.c: New file.
Kevin Pouget [Mon, 19 Sep 2011 10:50:53 +0000 (10:50 +0000)]
[OBV] fix typos in ChangeLog
Tristan Gingold [Mon, 19 Sep 2011 08:24:23 +0000 (08:24 +0000)]
2011-09-19 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c (insert_operand): Call as_bad_value_out_of_range
instead of as_warn_out_of_range.
gdbadmin [Mon, 19 Sep 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 19 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sun, 18 Sep 2011 16:50:17 +0000 (16:50 +0000)]
Check zero address size.
2011-09-18 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13196
* dwarf.c (display_debug_aranges): Check zero address size.
Cary Coutant [Sun, 18 Sep 2011 15:06:28 +0000 (15:06 +0000)]
* incremental.cc (can_incremental_update): New function.
* incremental.h (can_incremental_update): New function.
* layout.cc (Layout::init_fixed_output_section): Call it.
(Layout::make_output_section): Don't allow patch space in .eh_frame.
* object.cc (Sized_relobj_file::do_layout): Call
can_incremental_update.
Yao Qi [Sun, 18 Sep 2011 14:34:55 +0000 (14:34 +0000)]
Support displaced stepping for Thumb 16-bit insns.
gdb/
* arm-tdep.c (THUMB_NOP) Define.
(thumb_copy_unmodified_16bit): New.
(thumb_copy_b, thumb_copy_bx_blx_reg): New.
(thumb_copy_alu_reg): New.
(arm_copy_svc): Move some common code to ...
(install_svc): ... here. New.
(thumb_copy_svc): New.
(install_pc_relative): New.
(thumb_copy_pc_relative_16bit): New.
(thumb_decode_pc_relative_16bit): New.
(thumb_copy_16bit_ldr_literal): New.
(thumb_copy_cbnz_cbz): New.
(cleanup_pop_pc_16bit_all): New.
(thumb_copy_pop_pc_16bit): New.
(thumb_process_displaced_16bit_insn): New.
(thumb_process_displaced_32bit_insn): New.
(thumb_process_displaced_insn): process thumb instruction.
Support displaced stepping for Thumb 32-bit insns.
gdb/
* arm-tdep.c (thumb_copy_unmodified_32bit): New.
(thumb2_copy_preload): New.
(thumb2_copy_copro_load_store): New.
(thumb2_copy_b_bl_blx): New.
(thumb2_copy_alu_imm): New.
(thumb2_copy_load_reg_imm): New.
(thumb2_copy_load_literal): New
(thumb2_copy_block_xfer): New.
(thumb_32bit_copy_undef): New.
(thumb_32bit_copy_unpred): New.
(thumb2_decode_ext_reg_ld_st): New.
(thumb2_decode_svc_copro): New.
(decode_thumb_32bit_store_single_data_item): New.
(thumb_copy_pc_relative_32bit): New.
(thumb_decode_pc_relative_32bit): New.
(decode_thumb_32bit_ld_mem_hints): New.
(thumb2_copy_table_branch): New
(thumb_process_displaced_32bit_insn): Process Thumb 32-bit
instructions.
gdb/testsuite/
* gdb.arch/arm-disp-step.S (test_ldr_literal): Test for Thumb
instructions.
(test_adr_32bit, test_pop_pc): Likewise.
(test_ldr_literal_16, test_cbz_cbnz, test_adr): New test for
Thumb instructions.
* gdb.arch/arm-disp-step.exp (test_ldm_stm_pc): Match $gdb_prompt
in gdb_test_multiple.
(test_ldr_literal_16, test_cbz_cbnz, test_adr): New.
Yao Qi [Sun, 18 Sep 2011 14:18:07 +0000 (14:18 +0000)]
gdb/
* arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
(install_b_bl_blx): Likewise.
Yao Qi [Sun, 18 Sep 2011 02:36:27 +0000 (02:36 +0000)]
gdb/testsuite/
* lib/gdb.exp (can_single_step_to_signal_handler): New.
* gdb.base/kill-after-signal.exp: Call it. Skip if target doesn't
support single step to signal handler.
gdbadmin [Sun, 18 Sep 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Yao Qi [Sat, 17 Sep 2011 14:37:59 +0000 (14:37 +0000)]
gdb/
* arm-tdep.c (install_ldr_str_ldrb_strb): Renamed to ...
(install_load_store): ... this. New.
Change parameter BYTE to SIZE.
(arm_copy_ldr_str_ldrb_strb): Update caller.
(arm_decode_ld_st_word_ubyte): Update caller.
Yao Qi [Sat, 17 Sep 2011 13:34:01 +0000 (13:34 +0000)]
gdb/testsuite/
* gdb.base/disp-step-fork.c: New.
* gdb.base/disp-step-syscall.exp: New.
* gdb.base/disp-step-vfork.c: New.
Yao Qi [Sat, 17 Sep 2011 13:29:32 +0000 (13:29 +0000)]
gdb/
* infrun.c (displaced_step_fixup): Move some code ...
(displaced_step_restore): ... here. New function.
(handle_inferior_event): Cleanup displaced stepping state for both
child and parent when get forked or vforked event.
* regcache.c (get_thread_arch_aspace_regcache): New function.
get_thread_arch_regcache (): Call it.
Alan Modra [Sat, 17 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 17 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Joel Brobecker [Fri, 16 Sep 2011 19:09:57 +0000 (19:09 +0000)]
[Ada] Re-implement `info tasks' command using ui-out
This is in preparation for providing a GDB/MI equivalent of
the `info tasks' command. The previous implementation was using
various printf commands to generate the command output, which
does not work at all if we want to use that same code to generate
the result for that new GDB/MI command.
This patch thus re-implements the `info tasks' command (with no
arguments) in a way that makes it GDB/MI friendly.
There is an additional hicup, which is the fact that the `info tasks'
command displays a completely different type of output when a task
ID is given. For instance:
(gdb) info task 2
Ada Task: 0x644d20
Name: my_callee
Thread: 0
LWP: 0x5809
Parent: 1 (main_task)
Base Priority: 48
State: Blocked in accept or select with terminate
The above output is better when in CLI mode, but really not
what we want when in GDB/MI mode. In GDB/MI mode, we want to
follow what the `-thread-info' command does when a task-id
is given as an argument, which is to produce the same table,
but with only one element/task in it.
For compatibility as well as practical reasons, we do not want
to change the output of the `info task TASKNO' command when in
CLI mode. But it's easy to preserve this behavior while providing
the desirable output when in GDB/MI mode. For this, the function
used to generated the `info tasks' output has been enhanced to take
an argument interpreted as a string. The CLI command knows to never
provide that argument, while the GDB/MI command will pass one if
provided by the user.
gdb/ChangeLog:
* ada-tasks.c (print_ada_task_info): New function, merging
short_task_info and info_tasks together. Reimplement using
ui-out instead of printing to stdout directly. Move the code
building and checking the task list here, instead of leaving it
in info_tasks_command.
(info_task): Move the code building and checking the task
list here, instead of leaving it in info_tasks_command.
(info_tasks_command): Delete code building and checking
the task list - moved elsewhere. Update calls to info_tasks
and info_task.
One of the minor changes the switch caused is the introduction
of a space between the "current" column, and the task "ID"
column, which wasn't there before. This matches what we do
in the "info threads" command, so I kept that change. This
required an adjustment in the testsuite, however...
gdb/testsuite/ChangeLog:
* gdb.ada/tasks.exp: Make the expected output for
the `info tasks' tests more resilient to spacing
changes.
Joel Brobecker [Fri, 16 Sep 2011 19:09:43 +0000 (19:09 +0000)]
[Ada] Remove `from_tty' parameter from ada-tasks.c:info_task
This parameter is unused, and probably will never be useful.
gdb/ChangeLog:
* ada-tasks.c (info_task): Delete parameter `from_tty'.
Joel Brobecker [Fri, 16 Sep 2011 19:09:34 +0000 (19:09 +0000)]
[Ada] Remove `from_tty' parameter from ada-tasks.c:info_tasks
This parameter is unused, and probably will never be useful.
gdb/ChangeLog:
* ada-tasks.c (info_tasks): Delete parameter `from_tty'.
Joel Brobecker [Fri, 16 Sep 2011 19:09:26 +0000 (19:09 +0000)]
[Ada] Adjust ada-tasks.c:ada_build_task_list
Originally, this function had a parameter called `warn_if_null'
which would trigger a message to be printed on stdout if the
program was found to not use Ada tasking. It used one of the printf_
functions for that, which is wrong when considering the context of
GDB/MI interpreters.
So, this patch changes this function to stop printing the message,
and leaves that part to the callers instead. It also changes the
semantics slightly to return the number of tasks found, rather than
a yes/no answer. Not strictly needed, but simple enough to do, and
potentially useful later.
gdb/ChangeLog:
* ada-lang.h (ada_build_task_list): Remove parameter
`warn_if_null'.
* ada-tasks.c (ada_build_task_list): Remove parameter
`warn_if_null'. Adjust implementation and documentation.
(valid_task_id, ada_get_environment_task)
iterate_over_live_ada_tasks): Adjust call to ada_build_task_list.
(info_tasks_command): Adjust implementation.
(task_command): Likewise.
* ravenscar-thread.c (ravenscar_find_new_threads): Fix call
to ada_build_task_list.
Joel Brobecker [Fri, 16 Sep 2011 19:09:17 +0000 (19:09 +0000)]
[Ada] Store the Ada task list in per-inferior data
Instead of storing "the" Ada task list using a static global
in ada-tasks, this patch stores that information inside
per-inferior data.
We also add in the per-inferior data the location and type of
data used in the runtime to store that task list. Previously,
this information was saved as a static variable in one of the
functions, but this approach has the major flaw that it does
not handle multi-inferior debugging.
gdb/ChangeLog:
* ada-tasks.c (ada_tasks_check_symbol_table, task_list): Delete.
(enum ada_known_tasks_kind, struct ada_tasks_inferior_data): New.
(ada_tasks_inferior_data_handle): New static global.
(get_ada_tasks_inferior_data): New function.
(ada_get_task_number, get_task_number_from_id, valid_task_id)
(ada_get_environment_task, iterate_over_live_ada_tasks)
(add_ada_task, read_known_tasks_array, read_known_tasks_list):
Adjust.
(ada_set_current_inferior_known_tasks_addr): New function.
(read_known_tasks, ada_build_task_list, short_task_info)
(info_tasks, info_task, info_tasks_command, task_command_1)
(task_command, ada_task_list_changed): Adjust.
(ada_tasks_invalidate_inferior_data): New function.
(ada_normal_stop_observer, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Set ada_tasks_inferior_data_handle.
* ada-lang.h (struct inferior): Add declaration.
(ada_task_list_changed): Update profile.
* remote-wtx-pd.c: #include "inferior.h".
(switch_to_pd_internal): Update call to ada_task_list_changed.
Joel Brobecker [Fri, 16 Sep 2011 19:09:07 +0000 (19:09 +0000)]
[Ada] Make the ATCB type info program-space-specific
This module caches the type description of various elements of
the Ada Task Control Block (ATCB). This cache was implemented
as static globals, which is wrong in the case where we have
multiple inferiors. This change cleans things up a bit by moving
some of these static globals to a per-program-space area.
gdb/ChangeLog:
* ada-tasks.c: #include "progspace.h" and "objfiles.h".
(atcb_type, atcb_common_type, atcb_ll_type, atcb_call_type)
(atcb_fieldno): Delete these static globals.
(struct ada_tasks_pspace_data): New struct.
(ada_tasks_pspace_data_handle): New static global.
(get_ada_tasks_pspace_data): New function.
(ada_tasks_invalidate_pspace_data): New function.
(get_tcb_types_info, ptid_from_atcb_common, read_atcb)
(read_known_tasks_list, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Create this module's per-progspace
data handle.
Joel Brobecker [Fri, 16 Sep 2011 19:08:50 +0000 (19:08 +0000)]
[Ada] Rename struct tcb_fieldnos into atcb_fieldnos.
`atcb' is clearer than `tcb', as it stands for Ada Task Control
Block. This is also consistent with the rest of the code, which
uses atcb...
gdb/ChangeLog:
* ada-tasks.c (struct atcb_fieldnos): Renames struct tcb_fieldnos.
H.J. Lu [Fri, 16 Sep 2011 16:07:16 +0000 (16:07 +0000)]
Only run pr12975/pr13177 for *-*-linux* and *-*-gnu* targets.
2011-09-16 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/pr12975.d: Only run for *-*-linux* and *-*-gnu*
targets.
* ld-elf/pr13177.d: Likewise.
* ld-elf/pr13177.s: Avoid relocations in text sections.
Tristan Gingold [Fri, 16 Sep 2011 15:41:09 +0000 (15:41 +0000)]
2011-09-16 Tristan Gingold <gingold@adacore.com>
* fork-child.c (fork_inferior): Update comment. Use alloca
instead of xmalloc for argv. Move len and shell_command
declarations in the block where they are used.
Only call execvp. Factorize failure code.
Jan Kratochvil [Fri, 16 Sep 2011 14:36:55 +0000 (14:36 +0000)]
gdb/
Code cleanup.
* parse.c (write_exp_elt): Change argument to pass a pointer of union
`exp_element' instead of an element of the same and make the function
static.
(write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block)
(write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst)
(write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern):
Change argument of `write_exp_elt' function call.
Remove extra spaces from comments.
* parser-defs.h (write_exp_elt): Remove prototype.
Hui Zhu [Fri, 16 Sep 2011 09:07:01 +0000 (09:07 +0000)]
2011-09-16 Hui Zhu <teawater@gmail.com>
* gdb.texinfo (Tracepoint Restrictions): Change *$esp@300
to *(unsigned char *)$esp@300.
Jan Kratochvil [Fri, 16 Sep 2011 07:34:27 +0000 (07:34 +0000)]
gdb/testsuite/
* gdb.python/py-evthreads.exp (Run to breakpoint 1)
(reached breakpoint 2, reached breakpoint 3): Update expected output.
H.J. Lu [Fri, 16 Sep 2011 04:23:19 +0000 (04:23 +0000)]
Remove the group section if all members are removed.
binutils/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13180
* objcopy.c (is_strip_section_1): New.
(is_strip_section): Use it. Remove the group section if all
members are removed.
binutils/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13180
* binutils-all/group-6.d: New.
* binutils-all/group-6.s: Likewise.
* binutils-all/objcopy.exp: Run group-6 for ELF targrts.
H.J. Lu [Fri, 16 Sep 2011 01:17:16 +0000 (01:17 +0000)]
Also hide symbols without PLT nor GOT references.
bfd/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13177
* elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT
nor GOT references.
ld/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13177
* ld-elf/pr13177.d: New.
* ld-elf/pr13177.s: Likewise.
H.J. Lu [Fri, 16 Sep 2011 01:15:20 +0000 (01:15 +0000)]
Check if a symbol is hidden by linker script.
bfd/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer
to struct bfd_elf_version_tree.
* elflink.c (elf_info_failed): Remove verdefs.
(_bfd_elf_export_symbol): Updated.
_bfd_elf_link_assign_sym_version): Likewise.
(bfd_elf_size_dynamic_sections): Remove pointer to struct
bfd_elf_version_tree. Updated.
(bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden
by linker script.
* linker.c (bfd_hide_sym_by_version): New.
* bfd-in2.h: Regenerated.
include/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfdlink.h (bfd_link_info): Add version_info.
ld/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ldlang.c (lang_elf_version_info): Removed.
(lang_register_vers_node): Replace lang_elf_version_info with
link_info.version_info.
(lang_add_vers_depend): Likewise.
* pe-dll.c (process_def_file_and_drectve): Likewise.
* emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
* ldlang.h (lang_elf_version_info): Removed.
* plugin.c (is_visible_from_outside): Check if symbol is hidden
by version script.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Remove lang_elf_version_info.
ld/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ld-elf/pr12975.d: New.
* ld-elf/pr12975.s: Likewise.
* ld-elf/pr12975.t: Likewise.