OSDN Git Service
uweigand [Wed, 21 Sep 2011 16:49:14 +0000 (16:49 +0000)]
Fix ChangeLog dates.
uweigand [Wed, 21 Sep 2011 16:15:26 +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.
jsm28 [Wed, 21 Sep 2011 15:21:25 +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.
uweigand [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.
gingold [Wed, 21 Sep 2011 10:10:10 +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.
cgf [Wed, 21 Sep 2011 04:33:54 +0000 (04:33 +0000)]
* tty.cc (grantpt): Check for valid fd.
(unlockpt): Ditto.
gdbadmin [Wed, 21 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Wed, 21 Sep 2011 00:00:07 +0000 (00:00 +0000)]
daily update
jsm28 [Tue, 20 Sep 2011 15:19:23 +0000 (15:19 +0000)]
* mi/mi-main.c (mi_load_progress): Restore saved_uiout value to
current_uiout, not uiout.
amodra [Tue, 20 Sep 2011 05:01:55 +0000 (05:01 +0000)]
fix pr reference
amodra [Tue, 20 Sep 2011 04:58:55 +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.
amodra [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 ***
tmsriram [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_.
ccoutant [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.
devans [Mon, 19 Sep 2011 19:01:38 +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.
shebs [Mon, 19 Sep 2011 16:55:26 +0000 (16:55 +0000)]
* gdb.trace/tspeed.exp: New file.
* gdb.trace/tspeed.c: New file.
kpouget [Mon, 19 Sep 2011 10:50:53 +0000 (10:50 +0000)]
[OBV] fix typos in ChangeLog
gingold [Mon, 19 Sep 2011 08:24:21 +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 ***
amodra [Mon, 19 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
hjl [Sun, 18 Sep 2011 16:50:16 +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.
ccoutant [Sun, 18 Sep 2011 15:06:27 +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.
qiyao [Sun, 18 Sep 2011 14:34:54 +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.
qiyao [Sun, 18 Sep 2011 14:18:06 +0000 (14:18 +0000)]
gdb/
* arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
(install_b_bl_blx): Likewise.
qiyao [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 ***
amodra [Sun, 18 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
qiyao [Sat, 17 Sep 2011 14:37:58 +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.
qiyao [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.
qiyao [Sat, 17 Sep 2011 13:29:30 +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.
amodra [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 ***
brobecke [Fri, 16 Sep 2011 19:09:56 +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.
brobecke [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'.
brobecke [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'.
brobecke [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.
brobecke [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.
brobecke [Fri, 16 Sep 2011 19:09:06 +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.
brobecke [Fri, 16 Sep 2011 19:08:49 +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.
hjl [Fri, 16 Sep 2011 16:07:14 +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.
gingold [Fri, 16 Sep 2011 15:41:06 +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.
jkratoch [Fri, 16 Sep 2011 14:36:52 +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.
teawater [Fri, 16 Sep 2011 09:07:00 +0000 (09:07 +0000)]
2011-09-16 Hui Zhu <teawater@gmail.com>
* gdb.texinfo (Tracepoint Restrictions): Change *$esp@300
to *(unsigned char *)$esp@300.
jkratoch [Fri, 16 Sep 2011 07:34:26 +0000 (07:34 +0000)]
gdb/testsuite/
* gdb.python/py-evthreads.exp (Run to breakpoint 1)
(reached breakpoint 2, reached breakpoint 3): Update expected output.
hjl [Fri, 16 Sep 2011 04:23:16 +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.
hjl [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.
hjl [Fri, 16 Sep 2011 01:15:18 +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.
gdbadmin [Fri, 16 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Fri, 16 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
shebs [Thu, 15 Sep 2011 22:54:12 +0000 (22:54 +0000)]
* server.h (struct emit_ops): Add compare-goto fields.
* tracepoint.c (gdb_agent_op_sizes): New table.
(emit_eq_goto): New function.
(emit_ne_goto): New function.
(emit_lt_goto): New function.
(emit_le_goto): New function.
(emit_gt_goto): New function.
(emit_ge_goto): New function.
(is_goto_target): New function.
(compile_bytecodes): Recognize special cases of compare-goto
combinations and call specialized emitters for them.
* linux-x86-low.c (amd64_emit_eq_goto): New function.
(amd64_emit_ne_goto): New function.
(amd64_emit_lt_goto): New function.
(amd64_emit_le_goto): New function.
(amd64_emit_gt_goto): New function.
(amd64_emit_ge_goto): New function.
(amd64_emit_ops): Add the new functions.
(i386_emit_eq_goto): New function.
(i386_emit_ne_goto): New function.
(i386_emit_lt_goto): New function.
(i386_emit_le_goto): New function.
(i386_emit_gt_goto): New function.
(i386_emit_ge_goto): New function.
(i386_emit_ops): Add the new functions.
pkoning [Thu, 15 Sep 2011 18:33:15 +0000 (18:33 +0000)]
* python/py-cmd.c (gdbpy_string_to_argv): Decrement reference
count of item appended to list.
* python/py-type.c (typy_fields): Likewise.
pkoning [Thu, 15 Sep 2011 17:20:56 +0000 (17:20 +0000)]
Fix ChangeLog typo
jturney [Thu, 15 Sep 2011 16:49:51 +0000 (16:49 +0000)]
* strace.cc (attach_process): Try to turn off DEBUG_ONLY_THIS_PROCESS
if Attaching to a process with the trace-children flag set.
(handle_output_debug_string): Apparently we don't need to explicitly
attach for debugging when a child process starts
* Makefile.in (strace.exe): Link with ntdll
pkoning [Thu, 15 Sep 2011 16:09:42 +0000 (16:09 +0000)]
* gdb.texinfo: Make style of Python functions and methods match
the syntax of Python. Also put class and module names explicitly
on function, member, and variable names, matching Python
documentation conventions.
hjl [Thu, 15 Sep 2011 16:03:02 +0000 (16:03 +0000)]
Support thin archive member for LTO.
2011-09-15 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
PR ld/13183
* ldmain.c (add_archive_element): Support thin archive member
for LTO.
brobecke [Thu, 15 Sep 2011 15:49:53 +0000 (15:49 +0000)]
Add period at end of sentence in top entry.
pkoning [Thu, 15 Sep 2011 15:40:22 +0000 (15:40 +0000)]
MAINTAINERS (Right After Approval): Add myself to the list
kpouget [Thu, 15 Sep 2011 12:47:07 +0000 (12:47 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR threads/12628
* linux-fork.c (checkpoint_command): Disallow checkpointing of
processes with multiple threads.
(inf_has_multiple_thread_cb): New function.
(inf_has_multiple_threads): New function.
kpouget [Thu, 15 Sep 2011 12:42:28 +0000 (12:42 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* python/py-inferior.c (GdbMethods): New Python method definition.
doc:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.texinfo (Inferiors In Python): Describe new
gdb.selected_inferior() function.
testsuite:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior().
kpouget [Thu, 15 Sep 2011 12:27:15 +0000 (12:27 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
Handle multiple breakpoint hits in Python interface:
* python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python
variable to breakpoints.
* python/py-stopevent.c (emit_stop_event): Return a Python tuple of
bps instead of single breakpoint. Fix some space typos.
* python/py-stopevent.c (create_breakpoint_event_object): Rename
variable to breakpoints.
testsuite:
* gdb.python/py-events.exp: Set a duplicate breakpoint and check its
presence.
* gdb.python/py-events.py (breakpoint_stop_handler): Browse all the
breakpoint hits.
doc:
* gdb.texinfo (Events In Python): New function documentation:
gdb.BreakpointEvent.breakpoints. Indicate that
gdb.BreakpointEvent.breakpoint is now deprecated.
kpouget [Thu, 15 Sep 2011 12:18:23 +0000 (12:18 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
* breakpoint.c (describe_other_breakpoints): Do not write 'duplicate'
note if the breakpoint is internal.
kpouget [Thu, 15 Sep 2011 11:52:59 +0000 (11:52 +0000)]
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
* MAINTAINERS (Right After Approval): Add myself to the list
amodra [Thu, 15 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 15 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
palves [Wed, 14 Sep 2011 12:26:27 +0000 (12:26 +0000)]
2011-09-14 Pedro Alves <pedro@codesourcery.com>
* infrun.c (prepare_for_detach, wait_for_inferior)
(fetch_inferior_event): Don't flush the register cache.
* remote.c (struct stop_reply) <regcache>: Add comment.
ccoutant [Wed, 14 Sep 2011 01:29:01 +0000 (01:29 +0000)]
* configure.ac: Check for glibc support for gnu_indirect_function
support with static linking, setting automake conditional
IFUNC_STATIC.
* Makefile.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.am (ifuncmain1static, ifuncmain2static)
(ifuncmain4static, ifuncmain5static, ifuncmain7static): Add check
for IFUNC_STATIC.
* testsuite/Makefile.in: Regenerate.
ccoutant [Wed, 14 Sep 2011 01:10:43 +0000 (01:10 +0000)]
* incremental.cc (Sized_relobj_incr::do_layout): Call
report_comdat_group for kept comdat sections.
* testsuite/Makefile.am (incremental_comdat_test_1): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/incr_comdat_test_1.cc: New source file.
* testsuite/incr_comdat_test_2_v1.cc: New source file.
* testsuite/incr_comdat_test_2_v2.cc: New source file.
* testsuite/incr_comdat_test_2_v3.cc: New source file.
gdbadmin [Wed, 14 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Wed, 14 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
jkratoch [Tue, 13 Sep 2011 21:44:24 +0000 (21:44 +0000)]
gdb/
Remove excessive DWARF expressions memory duplication.
* dwarf2loc.c (per_cu_dwarf_call): Remove variable back_to and its use
for block.data.
(indirect_pieced_value): Remove variable result. Remove variable
back_to and its use for baton.data.
(dwarf2_compile_expr_to_ax): Remove variable back_to and its use for
block.data.
* dwarf2read.c (dwarf2_fetch_die_location_block): Remove xmemdup.
Update the function comment.
jkratoch [Tue, 13 Sep 2011 21:39:58 +0000 (21:39 +0000)]
gdb/testsuite/
* gdb.python/py-events.exp: Remove pretty printing comment.
* gdb.python/py-evsignal.exp: New file.
* gdb.python/py-evthreads.c: Include signal.h.
(thread3): Remove variable count3. Remove variable bad and use raise
instead.
(thread2): Remove variable count2. Move thread3 pthread_create here,
merge pthread_join to a single line.
(main): Remove variable count1. Merge pthread_join with pthread_create
to a single line.
* gdb.python/py-evthreads.exp: Remove pretty printing comment. New
KFAIL python/12966 for gdbserver. Test return value of
gdb_compile_pthreads. Use gdb_run_cmd. Replace send_gdb and
gdb_expect by gdb_test and gdb_test_multiple.
(thread 2, thread 3): New tests.
palves [Tue, 13 Sep 2011 19:27:00 +0000 (19:27 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* inferior.h (ALL_INFERIORS): New.
* linux-thread-db.c (thread_db_find_new_threads_2): Remove check
for a stopped thread.
(thread_db_find_new_threads): Look for threads in all inferiors.
palves [Tue, 13 Sep 2011 16:37:08 +0000 (16:37 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (update_watchpoint): Handle the case of the
watchpoint to update not being in the breakpoint list yet.
(hw_watchpoint_use_count): New, factored out from
hw_watchpoint_used_count.
(hw_watchpoint_used_count): Rename to ...
(hw_watchpoint_used_count_others): ... this. Add `except'
parameter. Don't count resources of `except'. Use
hw_watchpoint_use_count.
ian [Tue, 13 Sep 2011 16:16:51 +0000 (16:16 +0000)]
* object.cc (Sized_relobj_file::do_layout): Remove unused local
variable external_symbols_offset.
palves [Tue, 13 Sep 2011 14:48:52 +0000 (14:48 +0000)]
2011-09-13 Pedro Alves <pedro@codesourcery.com>
* gdbthread.h (enum thread_state): Moved here.
(struct thread_info): Rename `executing_' field to `executing' and
`state_' to `state'.
* thread.c (enum thread_state): Moved to gdbthread.h.
(new_thread, add_thread_silent, delete_thread_1)
(any_live_thread_of_process, thread_alive, set_running)
(set_running, is_thread_state, any_running, is_executing)
(set_executing, finish_thread_state, print_thread_info)
(do_captured_thread_select): Adjust.
jkratoch [Tue, 13 Sep 2011 08:26:05 +0000 (08:26 +0000)]
gdb/
Fix compatibility with gcc < 4.3 and non-gcc compilers.
* amd64-tdep.c (amd64_skip_xmm_prologue): Convert 0b constants.
amodra [Tue, 13 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 13 Sep 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
palves [Mon, 12 Sep 2011 21:25:22 +0000 (21:25 +0000)]
gdb/
2011-09-12 Pedro Alves <pedro@codesourcery.com>
Matt Rice <ratmice@gmail.com>
PR gdb/13175
* interps.c (struct interp) <interpreter_out>: Delete field.
(interp_new): Remove the data and uiout parameters and adjust.
(interp_set): Only set the current_uiout from the interpreter's
uiout after initializing the interpreter. Adjust call to
init_proc.
(interp_ui_out): Adjust to call procs->ui_out_proc.
(interp_data, interp_name): New.
* interps.h (interp_init_ftype): Add `self' parameter.
(interp_ui_out_ftype): New typedef.
(struct interp_procs) <ui_out_proc>: New method pointer.
(interp_new): Remove the data and uiout parameters.
(interp_data, interp_name): Declare.
* tui/tui-interp.c (tui_init): Adjust prototype.
(tui_ui_out): New.
(_initialize_tui_interp): Install tui_ui_out. Don't instanciate
tui_out here. Adjust call to interp_new.
* tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
* cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
(cli_ui_out): New.
(_initialize_cli_interp): Install it. Adjust call to interp_new.
* mi/mi-common.h (struct mi_interp) <uiout>: New field.
* mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
Initialize mi->uiout depending on the mi_version as extracted from
the interpreter's name.
(mi_ui_out): New.
(_initialize_mi_interp): Install mi_ui_out. Adjust calls to
interp_new. Don't allocate the ui_out's of the interpreters here.
gdb/testsuite/
2011-09-12 Matt Rice <ratmice@gmail.com>
Pedro Alves <pedro@codesourcery.com>
PR gdb/13175
* gdb.base/interp.exp: New tests.
* gdb.base/interp.c: New file.
palves [Mon, 12 Sep 2011 21:24:47 +0000 (21:24 +0000)]
gdb/
2011-09-12 Pedro Alves <pedro@codesourcery.com>
Matt Rice <ratmice@gmail.com>
PR gdb/13175
* interps.c (struct interp) <interpreter_out>: Delete field.
(interp_new): Remove the data and uiout parameters and adjust.
(interp_set): Only set the current_uiout from the interpreter's
uiout after initializing the interpreter. Adjust call to
init_proc.
(interp_ui_out): Adjust to call procs->ui_out_proc.
(interp_data, interp_name): New.
* interps.h (interp_init_ftype): Add `self' parameter.
(interp_ui_out_ftype): New typedef.
(struct interp_procs) <ui_out_proc>: New method pointer.
(interp_new): Remove the data and uiout parameters.
(interp_data, interp_name): Declare.
* tui/tui-interp.c (tui_init): Adjust prototype.
(tui_ui_out): New.
(_initialize_tui_interp): Install tui_ui_out. Don't instanciate
tui_out here. Adjust call to interp_new.
* tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
* cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
(cli_ui_out): New.
(_initialize_cli_interp): Install it. Adjust call to interp_new.
* mi/mi-common.h (struct mi_interp) <uiout>: New field.
* mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
Initialize mi->uiout depending on the mi_version as extracted from
the interpreter's name.
(mi_ui_out): New.
(_initialize_mi_interp): Install mi_ui_out. Adjust calls to
interp_new. Don't allocate the ui_out's of the interpreters here.
gdb/testsuite/
2011-09-12 Matt Rice <ratmice@gmail.com>
Pedro Alves <pedro@codesourcery.com>
PR gdb/13175
* gdb.base/interp.exp: New tests.
* gdb.base/interp.c: New file.
aristovski [Mon, 12 Sep 2011 19:02:01 +0000 (19:02 +0000)]
* ChangeLog: Fix comment and date.
aristovski [Mon, 12 Sep 2011 19:00:16 +0000 (19:00 +0000)]
* solib.c (solib_used): New function.
(update_solib_list, reload_shared_libraries_1): Check if objfile is used
by another so_list object before freeing it.
hjl [Mon, 12 Sep 2011 18:17:35 +0000 (18:17 +0000)]
Use .got.plt for IFUNC symbols if there are no GOT relocations.
bfd/
2011-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13178
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Use .got.plt
if there are no GOT relocations.
ld/testsuite/
2011-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13178
* ld-ifunc/ifunc-13-i386.d: Updated.
* ld-ifunc/ifunc-13-x86-64.d: Likewise.
* ld-ifunc/ifunc-3a-x86.d: Likewise.
* ld-x86-64/pr13082-5a.d: Likewise.
* ld-ifunc/ifunc-15-i386.d: New.
* ld-ifunc/ifunc-15-i386.s: Likewise.
* ld-ifunc/ifunc-15-x86-64.d: Likewise.
* ld-ifunc/ifunc-15-x86-64.s: Likewise.
devans [Mon, 12 Sep 2011 18:07:22 +0000 (18:07 +0000)]
* gdb.dwarf2/clztest.exp: Fix initialization of tests array.
* gdb.dwarf2/typeddwarf.exp: Ditto.
ian [Mon, 12 Sep 2011 17:34:26 +0000 (17:34 +0000)]
* object.cc (Sized_relobj_file::do_layout): Remove assertion which
triggered if object has no symbols.
gdbadmin [Mon, 12 Sep 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Mon, 12 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
kseitz [Sun, 11 Sep 2011 16:33:32 +0000 (16:33 +0000)]
* generic/gdbtk-cmds.c (gdb_prompt_command): get_prompt now
takes no arguments.
jkratoch [Sun, 11 Sep 2011 09:54:16 +0000 (09:54 +0000)]
gdb/
Code cleanup.
* mi/mi-cmd-stack.c (list_args_or_locals): Use enum for the parameter
values.
amodra [Sun, 11 Sep 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 11 Sep 2011 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
schwab [Sat, 10 Sep 2011 08:13:44 +0000 (08:13 +0000)]
Add PR markers
davem [Sat, 10 Sep 2011 05:15:43 +0000 (05:15 +0000)]
* output.cc (Output_fill_debug_info::do_write): Use Swap_unaligned.
(Output_fill_debug_line::do_write): Likewise.
amodra [Sat, 10 Sep 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 10 Sep 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
jkratoch [Fri, 9 Sep 2011 19:41:13 +0000 (19:41 +0000)]
gdb/
Code cleanup.
* amd64-tdep.c (amd64_skip_prologue): Move the XMM code to ...
(amd64_skip_xmm_prologue): ... this new function. Describe its
parameters. No longer use amd64_prologue_line_bug.
* defs.h (producer_is_gcc_ge_4): New declaration.
* dwarf2read.c (producer_is_gcc_ge_4): Move to utils.c.
(process_full_comp_unit): Update its caller. Remove
amd64_prologue_line_bug initialization.
* symtab.h (struct symtab): Remove field amd64_prologue_line_bug.
* utils.c (producer_is_gcc_ge_4): Moved here from dwarf2read.c.
palves [Fri, 9 Sep 2011 19:29:51 +0000 (19:29 +0000)]
Fixup last entry.
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.h (enum resume_kind): New.
(struct lwp_info) <last_resume_kind>: New field.
* linux-nat.c (linux_child_follow_fork): Set last_resume_kind to
resume_stop on the new lwp.
(add_lwp): Set last_resume_kind as resume_continue by default.
(lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
(resume_lwp): New, factored out from resume_callback. Also check
for pending status in lp->waitstatus.
(resume_callback): Reimplement.
(resume_clear_callback): Set last_resume_kind as resume_stop.
(resume_set_callback): Set last_resume_kind as resume_continue.
(linux_nat_resume, linux_handle_extended_wait): Set
last_resume_kind.
(running_callback): Also check lp->waitstatus for pending events.
(select_singlestep_lwp_callback): Check that lp->last_resume_kind
is resume_step.
(stop_and_resume_callback): Don't re-resume if the core wanted the
lwp stopped. Use resume_lwp instead of resume_callback. Avoid
using an invalidated pointer.
(linux_nat_filter_event): Don't discard SIGSTOPs as delayed
SIGSTOPs if the core wanted the LWP to stop.
(linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
wanted the lwp to stop. If the core wanted the lwp to stop, and
the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
of TARGET_SIGNAL_STOP.
(linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
here. Instead, signal the lwp, and set the last_resume_kind to
resume_stop.
palves [Fri, 9 Sep 2011 19:27:50 +0000 (19:27 +0000)]
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.h (enum resume_kind): New.
(struct lwp_info) <last_resume_kind>: New field.
(linux_child_follow_fork): Set last_resume_kind to resume_stop on
the new lwp.
(add_lwp): Set last_resume_kind as resume_continue by default.
(lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
(resume_lwp): New, factored out from resume_callback. Also check
for pending status in lp->waitstatus.
(resume_callback): Reimplement.
(resume_clear_callback): Set last_resume_kind as resume_stop.
(resume_set_callback): Set last_resume_kind as resume_continue.
(linux_nat_resume, linux_handle_extended_wait): Set
last_resume_kind.
(running_callback): Also check lp->waitstatus for pending events.
(select_singlestep_lwp_callback): Check that lp->last_resume_kind
is resume_step.
(stop_and_resume_callback): Don't re-resume if the core wanted the
lwp stopped. Use resume_lwp instead of resume_callback. Avoid
using an invalidated pointer.
(linux_nat_filter_event): Don't discard SIGSTOPs as delayed
SIGSTOPs if the core wanted the LWP to stop.
(linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
wanted the lwp to stop. If the core wanted the lwp to stop, and
the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
of TARGET_SIGNAL_STOP.
(linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
here. Instead, signal the lwp, and set the last_resume_kind to
resume_stop.
palves [Fri, 9 Sep 2011 19:20:19 +0000 (19:20 +0000)]
2011-09-09 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (lin_lwp_attach_lwp): Return 1 (ignore) instead of
-1 (error), if the lwp exits right after attaching.